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 在一个步骤中提供了所有命令的输出。

管道化的优点

此技术的优点是显著提高了协议性能。管道化获得的速度提升范围从连接到本地的 5 倍到通过较慢的互联网连接至少 100 倍。

广告