首页 > 数据库 > Redis > 正文

Redis批量删除key的命令怎么使用

WBOY
发布: 2023-05-26 17:09:38
转载
2111 人浏览过

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

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

可以借助于xargs命令实现批量删除key,把查出来的key值当做参数传给del

redis-cli keys "mailspec*" | xargs del

完整命令:

[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的数量

扩展:redis中批量删除key

1、删除所有的key,可以使用redis自身的命令:

flushdb 删除当前数据库中的所有Key

flushall 删除所有数据库中的key

2、使用linux中的xargs来删除所有的key

redis-cli keys “*” | xargs redis-cli del

3、删除包含有某些关键字的key

redis-cli keys “xxx*” | xargs redis-cli del

4、如果需要指定密码,可以这样使用:

redis-cli -a pwd keys “*” | xargs redis-cli -a pwd del

以上是Redis批量删除key的命令怎么使用的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板