a频繁连接不上redis_Redis连接数过多造成无法连接的处理

连接数过多,造成无法连接。

查看redis连接数:# redis-cli info | grep connected

connected_clients:5036

connected_slaves:0

客户端的连接竟然有达到5000多

查看客户端连接情况:

redis 127.0.0.1:6379> client list

addr=10.247.64.115:52834 fd=5 idle=2144 flags=N db=0 sub=0 psub=0 qbuf=0 obl=0 oll=0 events=r cmd=rpush

addr=127.0.0.1:38484 fd=7 idle=0 flags=N db=0 sub=0 psub=0 qbuf=0 obl=0 oll=0 events=r cmd=blpop

addr=10.105.1.2:53125 fd=8 idle=2144 flags=N db=0 sub=0 psub=0 qbuf=0 obl=0 oll=0 events=r cmd=rpush

addr=10.105.1.3:32639 fd=9 idle=2144 flags=N db=0 sub=0 psub=0 qbuf=0 obl=0 oll=0 events=r cmd=rpush

每个字段含义如下:

addr:客户端的地址和端口

fd:套接字所使用的文件描述符

idle:以秒计算的空闲时长

flags:客户端 flag

db:该客户端正在使用的数据库 ID

sub:已订阅频道的数量

psub:已订阅模式的数量

multi:在事务中被执行的命令数量

qbuf:查询缓冲区的长度(字节为单位, 0 表示没有分配查询缓冲区)

qbuf-free:查询缓冲区剩余空间的长度(字节为单位, 0 表示没有剩余空间)

obl:输出缓冲区的长度(字节为单位, 0 表示没有分配输出缓冲区)

oll:输出列表包含的对象数量(当输出缓冲区没有剩余空间时,命令回复会以字符串对象的形式被入队到这个队列里)

omem:输出缓冲区和输出列表占用的内存总量

events:文件描述符事件

cmd:最近一次执行的命令

----------------------------------------------------------

发现客户端的idle空闲时长太长,连接池维持了太多的连接,需要将不用的连接及时释放掉:

redis 127.0.0.1:6379> CONFIG SET timeout 30

OK

再次查看连接:

# redis-cli info | grep connected

connected_clients:1137

connected_slaves:0

连接数大量下降。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值