我的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-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原子地删除匹配模式的键中所述,可以使用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*"
redis-cli --raw keys "*Likes*" | xargs redis-cli del
? - Rmahajan