Redis – 流水线
Redis – 流水线
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一步提供了所有命令的输出。
流水线的好处
这种技术的好处是大大提高了协议性能。通过流水线获得的加速范围从连接到本地主机的五倍到最慢互联网连接的至少一百倍。