我正在尝试使用以下命令从远程Redis数据库中删除多个键。
redis-cli -h <host> -p 6379 KEYS "myprefix:*" | xargs redis-cli -h <host> -p 6379 DEL
它删除了所有匹配键,但其中没有空格。
例如
已删除:
未删除:
我的查询模式应该是什么,以便它们也被删除?我尝试使用Google搜索,但找不到任何解决方案。
最佳答案
问题出在xargs,而不是您的KEYS查询。如果您运行查询,您会注意到它正确返回了带有空格的键。问题是,默认情况下,xargs用空白和换行符分隔输入到其中的字符串。要更改此行为以使其仅由换行符分隔,请添加 -d“\n” 选项。例如:
redis-cli -h <host> -p 6379 keys "myprefix:*" | xargs -d "\n" redis-cli -h <host> -p 6379 del
关于redis - 删除带空格的键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50816484/