redis集群批量删除指定的key-创新互联

1、说明

创新互联专注于喀喇沁企业网站建设,响应式网站设计,商城开发。喀喇沁网站建设公司,为喀喇沁等地区提供建站服务。全流程按需求定制网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

redis集群上有时候会需要删除多个key,就必须需要登录到每个节点上,而且有可能这个key不在这个节点,这样删除起来就比较麻烦,下面提供一种便捷方式可以实现

2、查看redis集群中的master节点

首先你要确认有哪几台master节点,可以用下面命令查看:

#./redis-cli cluster nodes | grep master

redis集群批量删除指定的key

PS:在这里我有3台master主节点,端口都是6379


3、编写redis_del.sh脚本

#!/bin/bash

redis_comm=/usr/local/redis/bin/redis-cli

redis_ser01=172.18.18.107

redis_ser02=172.18.18.108

redis_ser03=172.18.18.109

$redis_comm -c -h $redis_ser01 keys $1 | xargs -i ./redis-cli -h $redis_ser01 del {}

$redis_comm -c -h $redis_ser02 keys $1 | xargs -i ./redis-cli -h $redis_ser02 del {}

$redis_comm -c -h $redis_ser03 keys $1 | xargs -i ./redis-cli -h $redis_ser03 del {}

参数说明:

    -c:启动集群模式进入redis集群服务


    -h:redis主机地址


    xargs -i: -i 选项告诉 xargs 可以使用{}代替传递过来的参数

4、使用redis_del.sh脚本

比如,我们现在有个需求,要删除redis集群以UP开头所有的key。

  • 首先,我们先登录redis集群,查看一下:

redis集群批量删除指定的key

  • 然后,使用redis_del.sh脚本删除:

# ./redis_del.sh UP*

redis集群批量删除指定的key

PS:如上图所示,UP开头的所有key都删除了

  • 脚本用法:sh redis_del.sh key参数

例如,你要删除其它key值:

./redis_del.sh a*        #删除以a开头的key值

./redis_del.sh b*        #删除以b开头的key值

或者,删除以什么结尾的keys值:

./redis_del.sh  *ab        #删除以ab结尾的key值

./redis_del.sh  *123        #删除以123结尾的key值

......等等

好了,觉得有用的朋友可以转发或者收藏,大家有问题可以在下面留言一起探讨,有更好的建议也可以在评论区贴出来!!!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:redis集群批量删除指定的key-创新互联
文章分享:http://pwwzsj.com/article/dhicci.html