这里写目录标题
13.1 流水线
在一般情况下,用户每执行一个Redis命令,Redis客户端和Redis服务器 就需要执行以下步骤:
1)客户端向服务器发送命令请求。
2)服务器接收命令请求,并执行用户指定的命令调用,然后产生相应 的命令执行结果。
3)服务器向客户端返回命令的执行结果。
4)客户端接收命令的执行结果,并向用户进行展示。
与大多数网络程序一样,执行Redis命令所消耗的大部分时间都用在了 发送命令请求和接收命令结果上面:Redis服务器处理一个命令请求通 常只需要很短的时间,但客户端将命令请求发送给服务器以及服务器向 客户端返回命令结果的过程却需要花费不少时间。通常情况下,程序需 要执行的Redis命令越多,它需要进行的网络通信操作也会越多,程序 的执行速度也会因此而变慢。
为了解决这个问题,我们可以使用Redis提供的流水线特性:这个特性 允许客户端把任意多条Redis命令请求打包在一起,然后一次性地将它 们全部发送给服务器,而服务器则会在流水线包含的所有命令请求都处 理完毕之后,一次性地将它们的执行结果全部返回给客户端。
通过使用流水线特性,我们可以将执行多个命令所需的网络通信次数从 原来的N次降低为1次,这可以大幅度地减少程序在网络通信方面耗费 的时间,使得程序的执行效率得到显著的提升。</