redis利用管道技術提高批量命令執行效率

redis管道

我們知道redis的客戶端和服務器之間是通過TCP協議連接的,不論是客戶端向redis發送命令還是客戶端接收redis的執行結果,都需要網絡通信,都需要一定時間,由於網絡性能的不同往返時間也不同,大致的來說這個時間相當於redis處理一條簡單命令(比如插入一個值到鏈表)的時間。如果我們執行較多的命令,一來一回,這個往返時間累加起來還是對性能有一定影響的。

由於redis是單線程,所以在執行多個命令時,都需要等待上一條命令執行完,才能執行下一條命令。因此,redis底層通信協議提供了對管道技術的支持。通過管道可以一次性發送多條命令並在執行完後一次性將結果返回,當一組命令中每條命令都不依賴於之前命令的執行結果時就可以將這組命令一起通過管道發出。管道通過減少客戶端與Redis的通信次數來實現降低往返時延累計值的目的。

管道實現如下圖:

redis利用管道技術提高批量命令執行效率

redis管道

專欄

Oracle入門到精通

作者:free教程

38.8幣

23人已購

查看


分享到:


相關文章: