Redis - 管道化



Redis 是一個 TCP 伺服器,支援請求/響應協議。在 Redis 中,請求透過以下步驟完成 −

  • 客戶端向伺服器傳送查詢,並從套接字讀取(通常以阻塞方式),以獲取伺服器響應。

  • 伺服器處理命令並將響應發回客戶端。

管道化的含義

管道化的基本含義是,客戶端可以向伺服器傳送多個請求,而無需等待回覆,最後一步中讀取回復。

示例

若要檢查 Redis 管道化,只需啟動 Redis 例項並在終端中鍵入以下命令。

$(echo -en "PING\r\n SET tutorial redis\r\nGET tutorial\r\nINCR 
visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379  
+PONG 
+OK 
redis 
:1 
:2 
:3 

在上面的示例中,我們將使用 PING 命令檢查 Redis 連線。我們已經設定了一個名為 tutorial 的字串,其值為 redis。稍後,我們得到鍵值並遞增訪客數量三次。在結果中,我們可以看到所有命令都只提交給 Redis 一次,而 Redis 在一個步驟中提供了所有命令的輸出。

管道化的優點

此技術的優點是顯著提高了協議效能。管道化獲得的速度提升範圍從連線到本地的 5 倍到透過較慢的網際網路連線至少 100 倍。

廣告