1. 程式人生 > >redis客戶端連接,最大連接數查詢與設置

redis客戶端連接,最大連接數查詢與設置

指定 col node 網絡 service服務 限制 style nbsp free

##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 ##OK 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

redis客戶端連接,最大連接數查詢與設置