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