Redis - Pipelining

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一步提供所有命令的输出.

流水线的好处

这种技术的好处是大大提高了协议性能.通过流水线技术获得的加速比从连接到本地主机的五倍到最慢一百倍的互联网连接速度.