我的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密钥?
答案 0 :(得分:0)
与How to atomically delete keys matching a pattern using 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*"