redis根据key模糊删除
编写lua脚本,为a.lua
local dbnum = ARGV[1] -- 获取数据库索引作为参数
local pattern = ARGV[2] -- 获取键的模式作为参数
-- 切换到指定的数据库
redis.call('SELECT', dbnum)
-- 使用 KEYS 命令获取所有匹配的键
local keys = redis.call('KEYS', pattern)
-- 遍历键列表并删除它们
for i, key in ipairs(keys) do
redis.call('DEL', key)
end
-- 返回被删除的键的数量
return #keys
实际是查询出符合的key,变量删除
执行
删除第15个个库中key为demo:one开头的所有数据
redis-cli --eval a.lua , 15 demo:one*
如果是远程redis
redis-cli -h 192.168.1.2 -p 3306 --eval a.lua , 15 demo:one*