删除了 Redis 中的大量密钥



尝试执行以下操作:

# redis-cli keys "resque:lock:*" |xargs -0 redis-cli del
xargs: argument line too long

解决此问题的最佳方法是什么?

摆脱-0 .我不熟悉 redis,但据我所知redis-cli keys不使用 NUL 分隔符。

没有它的原因是因为它处理报价的方式。从man xargs

xargs 从标准输入中读取项目,由空格(可以用双引号或单引号或反斜杠保护)或换行符分隔,并使用任何初始参数执行命令(默认值为/bin/echo),后跟从标准输入读取的项目。 标准输入上的空行将被忽略。

试试xargs -d 'n' 。这将禁用 xarg 的"智能"报价处理,并告诉它逐行读取参数。

相关内容

  • 没有找到相关文章

最新更新