Redis CLI扫描模式并在单个调用中取消链接/删除多个模式

时间:2018-06-29 06:51:42

标签: caching redis redis-cli redis-cache

我在Redis中存储了密钥,如下所示。

  • 项目:page_1_user_1
  • 项目:page_1_user_2
  • 项目:page_1_user_3
  • 项目:page_2_user_1
  • 项目:page_2_user_2
  • 项目:page_3_user_1

要删除与模式匹配的键,我在Stackoverflow上的许多答案中都使用了以下命令。

redis-cli --scan --pattern '*page_1_*' | xargs -L 100 redis-cli unlink

现在,我想在一个查询中删除多个模式。在上述查询中,我删除了具有 page_1 的模式,因此我想在一次查询中删除多个模式,例如 page_2 page_3 。 redis-cli。现在,我一直在遍历我的模式并调用上面的redis-cli查询。可能有类似下面的内容吗?

redis-cli --scan --pattern '*page_1_*,*page_2_*,*page_3_*' | xargs -L 100 redis-cli unlink

1 个答案:

答案 0 :(得分:0)

Redis支持glob style patterns,因此您可以使用

redis-cli --scan --pattern '*page_[123]_*'

redis-cli --scan --pattern '*page_[1-3]_*'

(在此期间您可能自己已经找到答案了……)