redis cluster集群批量删除中的key

Posted feng0520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis cluster集群批量删除中的key相关的知识,希望对你有一定的参考价值。

1、说明

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

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

#!/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:参数说明

-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、执行脚本

sh del_redis.sh test:*

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

 

以上是关于redis cluster集群批量删除中的key的主要内容,如果未能解决你的问题,请参考以下文章

我是如何解决redis集群批量获取的效率问题的

如何批量删除redis中keys

redis cluster模式key的模糊删除-java操作

redis cluster模式key的模糊删除-java操作

redis批量删除

批量删除Redis数据库中的Key