如何删除Redis密钥?

时间:2019-12-16 13:31:18

标签: 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密钥?

1 个答案:

答案 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*"