在redis里面可以使用keys aa*
进行匹配所有的key,却没办法直接删除所有匹配的key。
所以可以使用lua脚本进行增强。
以删除 suggest* 开头的key为例。
eval "local keys = redis.call('keys', 'suggest*') for _, key in ipairs(keys) do redis.call('del', key) end" 0
脚本分析:
-- 删除 Redis 中所有已有 'suggest' 前缀的键值对
local keys = redis.call('keys', 'suggest*')
for _, key in ipairs(keys) do
redis.call('del', key)
end
这是 Redis 的 Lua 脚本语言,意思是:
eval
命令执行该脚本。'suggest'
开头的键名,赋值给 keys
变量。使用 Redis 的 keys
命令实现。keys
变量中的每个键名 key
,并执行 redis.call('del', key)
,即删除对应的键值对。0
表示无需传递参数。总体来说,这是一个用于删除 Redis 中所有已有 'suggest'
前缀的键值对的脚本。