redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:
Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。
实际上在写Redis时,是把请求放到了网卡数据缓冲区,由操作系统去进行请求Redis,那么可以在客户端实现:
不断把write请求放到网卡发送缓冲区,最终一次性地将这些请求由操作系统发送至Redis。
redis会对这些请求进行响应,发送响应到网卡接收缓冲区,从而redis客户端能够批量地接受redis服务端的响应
在管道下,Redis的IO耗时如下: