Redis 通過監(jiān)聽一個 TCP 端口或者 Unix socket 的方式來接收來自客戶端的連接,當一個連接建立后,Redis 內(nèi)部會進行以下一些操作:

  • 首先,客戶端 socket 會被設置為非阻塞模式,因為 Redis 在網(wǎng)絡事件處理上采用的是非阻塞多路復用模型。

  • 然后為這個 socket 設置 TCP_NODELAY 屬性,禁用 Nagle 算法

  • 然后創(chuàng)建一個可讀的文件事件用于監(jiān)聽這個客戶端 socket 的數(shù)據(jù)發(fā)送


最大連接數(shù)

在 Redis2.4 中,最大連接數(shù)是被直接硬編碼在代碼里面的,而在2.6版本中這個值變成可配置的。

maxclients 的默認值是 10000,你也可以在 redis.conf 中對這個值進行修改。

config get maxclients

1) "maxclients"
2) "10000"

實例

以下實例我們在服務啟動時設置最大連接數(shù)為 100000:

redis-server --maxclients 100000

客戶端命令

S.N.命令描述
1CLIENT LIST返回連接到 redis 服務的客戶端列表
2CLIENT SETNAME設置當前連接的名稱
3CLIENT GETNAME獲取通過 CLIENT SETNAME 命令設置的服務名稱
4CLIENT PAUSE掛起客戶端連接,指定掛起的時間以毫秒計
5CLIENT KILL關(guān)閉客戶端連接