【问题标题】:Redis Pattern delete is not working on Ubuntu bash for WindowsRedis 模式删除不适用于 Windows 的 Ubuntu bash
【发布时间】:2022-01-15 18:16:06
【问题描述】:

我想通过模式匹配从 Azure Redis 缓存中删除 137K 键。
我正在为 Windows 使用 Ubuntu bash。

我尝试过的命令:

redis-cli -h HOST -p PORT -a PASSWORD keys 'customer*' | xargs redis-cli DEL
redis-cli -h HOST -p PORT -a PASSWORD --scan --pattern 'customer*' | xargs redis-cli DEL
  

两者都不删除任何键,只给出输出:

(整数)0

输出截图:

我在这里错过了什么?

【问题讨论】:

  • 你能把结果redis-cli -h HOST -p PORT -a PASSWORD keys 'customer*'保存到一个文件里看看有没有问题(可能是换行问题)。
  • 当我在 xargs 中添加主机端口和密码时效果很好,正如@Mahdi 在下面的答案中提到的那样。

标签: redis azure-redis-cache redis-cli


【解决方案1】:

您也应该将主机和端口传递给第二个命令。像这样:

redis-cli -h HOST -p PORT -a PASSWORD keys 'customer*' | xargs redis-cli -h HOST -p PORT -a PASSWORD DEL

如果您不这样做,它只会在托管在 localhost 和默认端口 6379 上的 redis 上执行命令,无需身份验证。显然,这个规范没有 redis 或键,这就是为什么你得到零代码的原因。

【讨论】:

  • 它就像一个魅力。非常感谢@Mahdi Yusefi。
猜你喜欢
  • 1970-01-01
  • 2020-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-02-14
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多