redis在xshell/SecureCRT上批量模糊删除缓存的key

        前几天有一个需求,有一个槽的缓存多余了,需要删除掉,但是这个槽里还有很多其他的缓存。这里我们就需要用到redis的模糊匹配key的方法批量删除这一批key了。特意记录下。

        Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 命令来完成这个动作。

首先通过linux连接redis,然后进去该redis的src(redis-cli的上级目录)目录(我的路径可供参考:cd redis-3.0.7/src),然后在这个路径下打出这行命令: 这里分两种情况

1   -      redis为默认端口号6379,无连接密码,删除命令如下:

 [root@xxxserver1 src]#  ./redis-cli keys "key*" | xargs redis-cli DEL

注意:我操作的时候,这里redis-cli前面的路径一开始用的也是 ./ ,但是一直是失败的,不知道是由于版本的关系还是为什么。我写的是完整的绝对路径 命令如下:  [root@xxxserver1 src]#  /root/redis/redis-3.0.7/src/redis-cli keys "key*" | xargs redis-cli del

2   -      另外还有一种情况,有连接密码(-a后面的内容),端口号有变化(不是6379,-p后面的内容),需要指定具体的卡槽的(-n后面的内容),则删除命令如下:

 [root@xxxserver1 src]#  /root/redis/redis-3.0.7/src/redis-cli -a possword -p 6379 -n 12 KEYS "key*" | xargs /root/redis/redis-3.0.7/src/redis-cli -a possword -p 6379 -n 12 DEL

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章