Redis连接数过多造成无法连接的处理

连接数过多,造成无法连接。
查看redis连接数:# redis-cli info | grep connected        
或者
redis-cli info clients

查看客户端连接情况:

redis 10.0.0.5:6001> client list
id=1080720 addr=10.0.0.6:45732 fd=101 name=shnne age=1315 idle=5 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080776 addr=10.0.0.6:50034 fd=8 name=shnne age=215 idle=5 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080779 addr=10.0.0.6:50632 fd=11 name=shnne age=55 idle=1 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080780 addr=10.0.0.5:35702 fd=12 name= age=35 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 events=r cmd=client user=default
id=1080748 addr=10.0.0.6:46758 fd=90 name=shnne age=1115 idle=5 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080774 addr=10.0.0.6:49596 fd=10 name=shnne age=335 idle=5 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080768 addr=10.0.0.6:48952 fd=7 name=shnne age=515 idle=3 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080778 addr=10.0.0.6:50384 fd=9 name=shnne age=125 idle=5 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080682 addr=10.0.0.6:43632 fd=94 name=shnne age=1715 idle=5 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080781 addr=10.0.0.6:50752 fd=13 name=shnne age=25 idle=5 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default
id=1080782 addr=10.0.0.6:50750 fd=14 name=shnne age=25 idle=4 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20496 events=r cmd=ping user=default

每个字段含义如下:
addr:客户端的地址和端口
fd:套接字所使用的文件描述符
idle:以秒计算的空闲时长
flags:客户端 flag
db:该客户端正在使用的数据库 ID
sub:已订阅频道的数量
psub:已订阅模式的数量
multi:在事务中被执行的命令数量
qbuf:查询缓冲区的长度(字节为单位, 0 表示没有分配查询缓冲区)
qbuf-free:查询缓冲区剩余空间的长度(字节为单位, 0 表示没有剩余空间)
obl:输出缓冲区的长度(字节为单位, 0 表示没有分配输出缓冲区)
oll:输出列表包含的对象数量(当输出缓冲区没有剩余空间时,命令回复会以字符串对象的形式被入队到这个队列里)
omem:输出缓冲区和输出列表占用的内存总量
events:文件描述符事件
cmd:最近一次执行的命令

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

将不用的连接及时释放掉:

redis 10.0.0.5:6001> CONFIG SET timeout 300
OK



再次查看连接:
# redis-cli info | grep connected
connected_clients:9
connected_slaves:0

同时修改redis.conf配置文件里的
timeout 300

分享到:
关键词:Linux运维

网友留言(0 条)

发表评论