redis如何批量删除Key
1、在能够使用xshell等工具ssh连接到redis服务器的情况下可以使用如下命令:
#直连 redis-cli --scan --pattern users:* | xargs redis-cli del
#选择库和选择端口和ip的情况下
redis-cli -h 127.0.0.1 -p 6379 -n 2 --scan --pattern user:* | xargs redis-cli -h 127.0.0.1 -p 6379 -n 2 del
解析
1、首先,我们使用redis-cli --scan --pattern 模糊匹配出了所有以users:打头的Redis Key,每个Key会输出为一行。
2、然后,这样的输出结果,通过管道操作交给了xargs命令来处理,xargs命令负责把多行的输出合并为一行,并传递给redis-cli del命令。所以最终执行的效果类似于redis-cli del ...
3、如果有几千个Key符合这样的匹配,都会通过xargs命令,传递给redis-cli del一并删除。
tips:使用scan而不使用keys所有不会导致redis被锁
2、不能使用xshell连接上redis所在服务器,如阿里云redis数据库
只能使用php脚本进行删除了,代码大致如下:
