Redis批量删除操作

本文介绍了如何在Linux环境下使用xargs命令批量删除Redis中的键,并提到Windows环境下可能的替代方法。通过实例展示了如何设置和执行xargs配合redis-cli删除keysTest*的结果。
摘要由CSDN通过智能技术生成
前言

想要批量删除redis中的key,这里引用到了一个xargs命令,但属于linux中的命令,windows下需要自行下载工具包然后配环境变量,笔者没找到,就在linux中实践了。

命令:xargs

xargs是一个非常强大的命令,可以取一个命令的输出作为另一个命令的参数。其中还有很多用法,有兴趣伙伴可以深入了解。
附上看过的三个不同作者的文章。

先看效果:

先设定,三个key。

127.0.0.1:6379> set Test_one 1
OK
127.0.0.1:6379> set Test_two 2
OK
127.0.0.1:6379> set Test_three 3
OK
127.0.0.1:6379> keys Test*
1) "Test_three"
2) "Test_two"
3) "Test_one"

开始使用xargs批量删除
redis-cli -a 123qqqq keys Test* | xargs -r -t -n1 redis-cli -a 123qqqq del

[root@acbb5763ee1f /]# redis-cli -a 123qqqq keys Test* | xargs -r -t -n1 redis-cli -a 123qqqq del
redis-cli -a 123qqqq del Test_three 
(integer) 1
redis-cli -a 123qqqq del Test_two 
(integer) 1
redis-cli -a 123qqqq del Test_one 
(integer) 1

查看结果

127.0.0.1:6379> keys Test*
(empty list or set)
粗解

redis-cli -h 192.21.23.144 -p 6379 -a qqqqq -n 1 keys Test* | xargs -r -t -n1 redis-cli -h 192.21.23.144 -p 6379 -a qqqqq -n 1 del

分为两个部分执行:1、先登录查出需要删掉的key;2、把1中结果当成删除命令的参数,这个参数用xrgs接收,并给删除指令。

xargs下:
-r  no-run-if-empty  就是如果参数为空不执行后面的命令
-t  先打印执行命令 然后再执行
-n1  传入的参数没批执行几条,-n1,1就是每次传入1个值执行一次,具体可看这位大佬的解释 xargs

redis-cli下:
-h  host
-p  port
-a  auth
-n  选择库  -n 1相当于select 1 (默认0)

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值