作者:段娜688 | 来源:互联网 | 2022-12-14 02:51
我试图使用以下命令从我的远程Redis数据库中删除多个密钥.
redis-cli -h -p 6379 KEYS "myprefix:*" | xargs redis-cli -h -p 6379 DEL
它删除了除了包含空格的键之外的所有匹配键.
例如
删除:
myprefix:ABC
myprefix:DEF
myprefix:GHI
未删除:
myprefix:jkl mno
myprefix:pqr stu
myprefix:vwx yza
什么应该是我的查询模式,以便这些也被删除?我试过谷歌搜索,但无法找到任何解决方案.
1> cbp..:
问题出在xargs上,而不是你的KEYS查询.如果运行查询,您会注意到它正确返回了带有空格的键.问题是默认情况下,xargs将空格和换行符串行传输到其中.要更改此行为以便仅按换行符分隔,请添加-d"\n"选项.例如:
redis-cli -h -p 6379 keys "myprefix:*" | xargs -d "\n" redis-cli -h -p 6379 del