redis集群上 有时候会需要删除多个key
就必须需要登录到每个节点上,而且有可能这个key不在这个节点,这样删除起来就比较麻烦
这里提供一个批量删除redis集群的key的脚本
key.txt –待删除的key
key1
key2
key3
redis_delete_key.sh
redis_list 填入集群节点
redis_list=("127.0.0.1:6379" "127.0.0.1:6380")
for info in ${redis_list[@]}
do
echo "开始执行:$info"
ip=`echo $info | cut -d \: -f 1`
port=`echo $info | cut -d \: -f 2`
cat key.txt |xargs -t -n1 redis-cli -h $ip -p $port -c del
done
echo "完成"
开始执行:127.0.0.1:6379
redis-cli -h 127.0.0.1 -p 6379 -c del key1
(integer) 0
redis-cli -h 127.0.0.1 -p 6379 -c del key2
(integer) 0
redis-cli -h 127.0.0.1 -p 6379 -c del key3
(integer) 0
开始执行:127.0.0.1:6380
redis-cli -h 127.0.0.1 -p 6380 -c del key1
(integer) 0
redis-cli -h 127.0.0.1 -p 6380 -c del key2
(integer) 0
redis-cli -h 127.0.0.1 -p 6380 -c del key3
(integer) 0
完成
如果出现这种日志格式
edis-cli -h 127.0.0.1 -p 6380 -c del key3
(integer) 0
需要修改文本为unix格式 然后再执行