Redis批量删除key的命令

redis中没有直接根据正则表达式删除key的命令,只有del key1 key2...命令正则表达式

可是redis中有经过正则表达式获取key的命令:keys "正则表达式"redis

能够借助于xargs命令实现批量删除key,把查出来的key值当作参数传给delspa

redis-cli keys "mailspec*" | xargs del.net

 

完整命令:code

[root@localhost redis7001]# redis-cli -h 192.169.1.71 -p 7001 -a 123456 keys em* | xargs -r -t -n1 ./redis-cli -h 192.169.1.71 -p 7001 -a 123456 del
  • 补充1:xargs命令后需加上参数-r,否则当keys的数量为0时,就会报错 (error) ERR wrong number of arguments for ‘del’ command
  • 补充2:xargs命令后需加上参数-n1,否则当集群状况keys的数量大于1时,可能会报错 (error) CROSSSLOT Keys in request don’t hash to the same slot
  • 补充3:不加-t也能够,加上-t会输出每次删除的内容,不加则不输出删除的内容,但仍是会输出每次删除的key的数量

 

 

 

参考地址 https://blog.csdn.net/zxl2016/article/details/90900319

blog

相关文章
相关标签/搜索