如何使用redis-cli删除redis中与特定模式匹配的键。我想从以下列表中删除所有foo。
KEYS *
foo:1
foo:2
bar:1
foo:3
bar:2
foo:4
答案 0 :(得分:22)
正如对该问题的评论所述,此处还有许多其他答案。如果您正考虑在生产服务器中执行此操作,请务必阅读上面链接的内容。
我发现对偶尔进行命令行清理最有用的是:
redis-cli KEYS "*" | xargs redis-cli DEL
来自"How to atomically delete keys matching a pattern using Redis"。
答案 1 :(得分:3)
我刚刚向npm和github发布了一个命令行界面实用程序,它允许您从Redis数据库中删除与给定模式(甚至*)匹配的键。
您可以在此处找到该实用程序:
答案 2 :(得分:0)
在进行一些搜索后,我想按模式删除数千个键:
-n [number]
del
,但是如果有成千上万个键,则最好使用unlink
,因为 unlink是非阻止的,而del是阻止的,有关更多信息,请访问此页面unlink vs del keys
也很像del,并且正在阻止所以我用这段代码按模式删除密钥:
redis-cli -n 2 --scan --pattern '[your pattern]' | xargs redis-cli -n 2 unlink