redis cluster集群批量删除中的key


1、说明

redis cluster集群上有时候会需要删除多个key,就必须需要登录到每个节点上,而且有可能这个key不在这个节点,删除起来就比较麻烦,测试的时候极不方便。于是就自己动手写了一个支持模糊删除key的脚本,分享给大家。

2、新建del_redis.sh,内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
 
# 配置redis-cli地址
redis_cmd=redis-cli
# 配置reids集群IP地址
host=192.168.1.2
# 配置reids集群节点端口
ports=(6380 6381 6382 6383 6384 6385)
# 配置reids密码
password= "test"
 
for  port  in  ${ports[@]}
do
     $redis_cmd -c -h $host -p $port -a $password 2> /dev/null  keys $1 |  xargs  -i $redis_cmd -h $host -p $port -a $password 2> /dev/null  del {}
done ;
echo  "success"

ps:参数说明

1
2
3
4
5
6
-c  # 启动集群模式进入redis集群服务
-h  # redis主机地址
-p  # redis节点的端口
-a  # redis的密码
2> /dev/null  # 过滤使用密码连接redis时报的警告:Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
xargs  -i  # -i 选项告诉 xargs 可以使用{}代替传递过来的参数

3、执行脚本

1
sh del_redis.sh  test :*

这样就删除了所有以test开头的key了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM