redis是一種基於客戶端-服務端模型以及請求/響應協議的tcp服務
客戶端:
當乙個連線建立後
(1)客戶端向服務端傳送乙個查詢請求,並監聽socket返回,通常是以阻塞模式,等待服務端響應;
(2)服務端處理命令,並將結果返回給客戶端。
服務端:
(1)首先,客戶端 socket 會被設定為非阻塞模式,因為 redis 在網路事件處理上採用的是非阻塞多路復用模型;
(2)然後為這個 socket 設定 tcp_nodelay 屬性,禁用 nagle 演算法;
(3)然後建立乙個可讀的檔案事件用於監聽這個客戶端 socket 的資料傳送。
注意:若使用redis 管道技術,則可以在服務端未響應時,客戶端可以繼續向服務端傳送請求,並最終一次性讀取所有服務端的響應。
服務端與客戶端互動
搭建伺服器 伺服器端 using system.net.sockets using system.net using system.io using system.text namespace sockerservice endpoint point new ipendpoint ipaddress...
客戶端與服務端互動流程
發起連線請求與服務端建立連線,zk集群分配乙個session id給客戶端 連線建立成功後session被建立 客戶端週期性傳送心跳保持session的有效性,若zk集群在指定時間內 session timeout 沒收到心跳則認為session失效 session建立的臨時節點以及watches都...
Redis啟動服務端與客戶端
先檢視幫助文件了解後面各個引數的意義,進入redis server檔案存放的目錄 這裡可以看到,我們可以在啟動時設定要使用的配置檔案 埠號 主機 日誌級別等 關鍵引數 daemonize,預設為no,即不以後臺方式啟動,修改為yes即可用後台方式啟動 啟動redis並指定該配置檔案,先進入redis...