Redis Pipelining(管线)
Redis 管线
Redis是一个支持请求/响应协议的TCP服务器,在redis中,请求通过以下步骤完成:
1.客户端将查询发送到服务器,并从插槽中(通常以阻塞方式)读取服务器响应。
2.服务器处理命令并将响应发送回客户端。
管线的意义
管线的基本含义是,客户端可以在不等待所有答复的情况下向服务器发送多个请求,并在一个步骤中最后读取这些答复。
例子
要检查Redis管线,只需启动Redis实例并在终端中键入以下命令。
$(echo -en "PING\r\n SET kaifaxueyuan redis\r\nGET kaifaxueyuan\r\nINCR visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379 +PONG +OK redis :1 :2 :3
在上面的示例中,我们将使用ping命令检查redis连接。我们已经将一个名为kaifaxueyuan的字符串设置值为redis。然后,我们得到了键值并增加了3次访问者。在结果中,我们可以看到所有命令都提交到Redis ,Redis在一个步骤中提供所有命令的输出。
管线的优点
这种技术的好处是大大提高了协议性能,通过管线获得的性能提升至少提高5倍(maybe)。