redis + lua 脚本实现批量操作
使用场景
使用redis-cli
来操作redis数据库。在删除key时,会出现批量删除某些包含特定字符的key。
一般情况下,使用del key
,可以删除指定的key,但是如果需要删除的key很多时,这种操作就不再合适。
使用方法
使用 redis 命令 + lua 脚本的方式可以很好的实现相关操作。
lua 脚本示例
local keys = redis.call('keys', ARGV[1])
for i,k in ipairs(keys) do
redis.call('DEL', k)
end
这是一段关于删除包含特定字符的key
功能的lua脚本。使用通过keys parents
命令,获取当前库中所有符合规则 parents 的key列表。接着循环执行del key
,实现批量删除。
redis-cli 中执行
EVAL "local keys = redis.call('keys', ARGV[1]) for i,k in ipairs(keys) do redis.call('DEL', k) end" 0 *abc*