之前在部署程序用到redis,某一个key写入了千万级的数据,后续需要清空重写,但在redis desktop上操作效率太低且容易卡死。redis desktop呈现如下图所示
后来查了一下其他大佬的资料得到如下语法
redis-cli -a 密码 -p 端口好 -n 库号 KEYS “指定key前缀_*” | xargs redis-cli -a 密码 -p 端口号 -n 库号 del
原文地址:https://blog.csdn.net/qq_35606400/article/details/107151106
更改后得到如下语句
redis-cli -h 127.0.0.1 -p 6379 -a 12345 keys "bkdx:qjdx:*" |xargs redis-cli -h 127.0.0.1 -p 6379 -a 12345 del
但是我登陆我的redis控制台后发现执行完成后打印删除数为0,对redis删除机制也没有深究,但看语句中使用了xargs命令 记得有一个用法是将参数值赋给'{}',于是尝试在上述语句后加上 ’{}\;‘ 最终如下
redis-cli -h 89.30.245.11 -p 6379 -a 12345 keys "bkdx:qjdx:*" |xargs redis-cli -h 89.30.245.11 -p 6379 -a 12345 del {}\;
在控制台执行后发现删除成功,至于之前的语句为啥不能删除没有深入了解,不知道是不是我的结构的问题