首页 > 解决方案 > 如何删除 Redis 密钥?

问题描述

我的 Redis 密钥有特殊字符。我尝试了以下命令但没有用。

redis-cli  keys *ueryLikesApp*
1) "\xac\xed\x00\x05t\x00\x1dqueryLikesApps04ea56ff2567012"
redis-cli --scan --pattern "*Likes*" 

没有找到数据

redis-cli keys  "*Likes*"|xargs redis-cli  del

没有找到数据

如何删除这些redis键?

标签: redis

解决方案


如何使用 Redis 以原子方式删除与模式匹配的键一样,这将使用 Lua 脚本:

redis-cli EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 "*Likes*"

如果你有成千上万的钥匙

EVAL "local keys = redis.call('keys', ARGV[1]) \n for i=1,#keys,5000 do \n redis.call('del', unpack(keys, i, math.min(i+4999, #keys))) \n end \n return keys" 0 "*Likes*"

推荐阅读