一、簡介
redis是一種基於B/S模型以及請求/響應協議的TCP服務
因此我們知道,TCP爲了可靠連接,客戶端會等待服務端的響應,通常是一個阻塞的模式等待。
二、管道技術的出現
如果每次發送一個命令,客戶端等待服務器的相應,那麼請求的命令數量大了,客戶端需要不斷請求,服務端需要不斷響應,這個過程是十分耗費時間的。因此從客戶端到服務器,再從服務器到客戶端的時間(RTT往返時間)。
使用redis的管道技術,可以將多個命令打包,一次性發送多個命令,redis在服務端將所有的運行結果打包,並返回,這就是管道技術。
三、管道使用的注意事項
使用管道發送一系列命令時,服務器將被迫回覆一個隊列回覆,在命令數量大時,是非常佔用內存的。因此redis建議,可以將大批量的命令分批次進行。比如將1M的命令分成10K、10K的批次發送。