##redis客户端连接数

 redis通过监听一个TCP端口或socket的方式接收来自客户端的连接,
当与客户端建立连接后,redis内部会进行如下操作:
1)客户端socket会被设置为非阻塞模式,因为redis在网络时间处理上采用的是非阻塞多路复用模型;
2)然后为这个socket设置TCP_NODELAY属性,禁用Nagle算法;
3)然后创建一个可读的文件事件用于监听这个客户端socket的数据发送。

##redis 连接数与 最大连接数

1. 查看

方法1:在redis-cli命令行使用:info clients可以查看当前的redis连接数

127.0.0.1:6379> info clients
#Clients
connected_clients:621
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
127.0.0.1:6379>

方法2:config get maxclients 可以查询redis允许的最大连接数

127.0.0.1:6379> CONFIG GET maxclients
    ##1) "maxclients"
    ##2) "10000"
127.0.0.1:6379>

2.设置、修改

1. 在2.6之后版本,可以修改最大连接数配置,默认10000,可以在redis.conf配置文件中修改
# maxclients 10000 ...

2. config set maxclients num 可以设置redis允许的最大连接数

127.0.0.1:6379> CONFIG set maxclients 10
OK
127.0.0.1:6379>


3.启动 redis.service服务时加参数--maxclients 100000 来设置最大连接数限制

redis-server --maxclients 100000 -f /etc/redis.conf

##redis-cli命令控制行中获取客户端信息命令

CLIENT LIST获取客户端列表

CLIENT SETNAME    设置当前连接点redis的名称

CLIENT GETNAME    查看当前连接的名称

CLIENT KILL ip:port    杀死指定连接

CLIENT LIST
    ##id=3 addr=127.0.0.1:36588 fd=5 name= age=7 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
CLIENT SETNAME js
CLIENT LIST
    ##id=3 addr=127.0.0.1:36588 fd=5 name=js age=37 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
CLIENT GETNAME
    ##"js"
CLIENT KILL id 3
    ##(integer) 0

参考:http://blog.51cto.com/jschu/1851998