一、請求應(yīng)答協(xié)議和RTT:
Redis是一種典型的基于C/S模型的TCP服務(wù)器。在客戶端與服務(wù)器的通訊過程中,通常都是客戶端率先發(fā)起請求,服務(wù)器在接收到請求后執(zhí)行相應(yīng)的任務(wù),最后再將獲取的數(shù)據(jù)或處理結(jié)果以應(yīng)答的方式發(fā)送給客戶端。在此過程中,客戶端都會以阻塞的方式等待服務(wù)器返回的結(jié)果。見如下命令序列:
Redis在很早的版本中就已經(jīng)提供了對命令管線的支持。在給出具體解釋之前,我們先將上面的同步應(yīng)答方式的例子改造為基于命令管線的異步應(yīng)答方式,這樣可以讓大家有一個更好的感性認(rèn)識。
以下是來自Redis官網(wǎng)的測試用例和測試結(jié)果。需要說明的是,該測試是基于loopback(127.0.0.1)的,因此RTT所占用的時間相對較少,如果是基于實際網(wǎng)絡(luò)接口,那么管線機制所帶來的性能提升就更為顯著了。
新聞熱點
疑難解答
圖片精選