Redis 通過監聽一個 TCP 端口或者 Unix socket 的方式來接收來自客戶端的連接,當一個連接建立後,Redis 内部會進行以下一些操作:
-
首先,客戶端 socket 會被設置為非阻塞模式,因為 Redis 在網絡事件處理上采用的是非阻塞多路複用模型。
-
然後為這個 socket 設置 TCP_NODELAY 屬性,禁用 Nagle 算法
-
然後創建一個可讀的文件事件用于監聽這個客戶端 socket 的數據發送
最大連接數
在 Redis2.4 中,最大連接數是被直接硬編碼在代碼裡面的,而在2.6版本中這個值變成可配置的。
maxclients 的默認值是 10000,你也可以在 redis.conf 中對這個值進行修改。
config get maxclients1) "maxclients"2) "10000"
實例
以下實例我們在服務啟動時設置最大連接數為 100000:
redis-server --maxclients 100000
S.N.命令描述1CLIENT LIST返回連接到 redis 服務的客戶端列表2CLIENT SETNAME設置當前連接的名稱3CLIENT GETNAME獲取通過 CLIENT SETNAME 命令設置的服務名稱4CLIENT PAUSE挂起客戶端連接,指定挂起的時間以毫秒計5CLIENT KILL關閉客戶端連接
,