Redis 批量删除 key 的命令

"Redis中没有直接支持根据正则表达式删除key的命令,但可以通过结合`keys`和`xargs`实现。首先使用`keys "正则表达式"`找出匹配的key,然后利用`xargs`将这些key传递给`del`命令进行删除。需要注意的是,`xargs`命令需添加`-r`参数防止空输入导致错误,以及`-n1`参数确保在集群环境中避免跨槽错误。此方法适用于定期清理特定模式的key。"
摘要由CSDN通过智能技术生成

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

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

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

redis-cli keys "mailspec*" | xargs del

完整命令:

redis-cli -h 172.16.0.233 -p 6379 -a airemoveredispTG8KqfXs6LRl keys matting_api_count:2021-03-* | xargs -r -t -n1 redis-cli -h 172.16.0.233 -p 6379 -a airemoveredispTG8KqfXs6LRl 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的数量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴国进

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值