redis DEL 指令无法实现按照前缀删除指定 key
通过执行lua脚本,实现批量删除前缀key
例如:我的redis里有如下key
127.0.0.1:6379> keys pre_*
1) "pre_my"
2) "pre_name"
3) "pre_is"
4) "pre_wanyan"
redis指令执行删除
127.0.0.1:6379> EVAL "local licenseKeys = redis.call('keys', KEYS[1]) for i, v in ipairs(licenseKeys) do redis.call('del', v) end" 1 pre_*
再次执行 keys 命令,看到数据已经被删掉了。
127.0.0.1:6379> keys pre_*
(empty array)
关于 lua 脚本的相关内容,有兴趣的读者可阅读相关文档了解:
redis文档: http://doc.redisfans.com/index.html
文章介绍了当Redis的DEL指令无法按前缀删除键时,如何通过执行Lua脚本来实现这一功能。示例展示了如何编写和执行Lua脚本,以删除所有以pre_开头的键,并在执行后确认键已被删除。

293

被折叠的 条评论
为什么被折叠?



