redis 批量删除 keys

#!/bin/bash


redis_list=("192.168.252.174:7000" "192.168.252.174:7001" "192.168.252.174:7002" "192.168.252.176:7003" "192.168.252.176:7004" "192.168.252.176:7005")

pkey_list=("CAS_TICKET*")

for info in ${redis_list[@]}
    do
        echo "开始执行:$info"  
        ip=`echo $info | cut -d \: -f 1`
        port=`echo $info | cut -d \: -f 2`

		for pkey in ${pkey_list[@]}
		do
			redis-cli -c -h $ip -p $port -a "abc" keys $pkey | xargs -r -t -n1 redis-cli -c -h $ip -p $port -a "abc" del
		done
    done
echo "完成"

执行一会提示,'Redis:Cannot assign requested address'

客户端频繁连接Redis服务端,由于每次连接都在很短时间内结束,导致服务器出现大量time-wait。以至于用光了可用的端口号。 所以需要自动释放 time-wait

net.ipv4.ip_local_port_range = 9000 6553
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 10

一个小插曲

集群修改了密码,需要同步修改项目里面的Redis集群密码。修改以后一直报

Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set

由于密码里面有特殊字符,以为是转义了。 用双引号、单引号、转义符都没用。 后来去检查Redis集群。才发现只有一个节点设置了密码,其他节点都没设置。 赶紧补上密码,重启项目,问题解决。

转载于:https://www.cnblogs.com/fsckzy/p/10725856.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值