当Redis中有多个命令时,是否应该始终使用流水线操作?

时间:2019-02-27 08:21:10

标签: redis

我是redis的新手,当我应该使用流水线操作或者要发送的命令多于1条时我应该一直使用它吗?

例如,如果我想一次向Redis服务器发送10条SET命令,我应该简单地逐个运行10条命令还是应该对它们进行管道传输?

用管道传输10条SET命令而不是一一发送它们有什么缺点吗?

非常感谢。

1 个答案:

答案 0 :(得分:3)

  

何时应该使用流水线

当需要向Redis发送很多命令时,管道用于减少RTT,从而可以提高性能。

  

当要发送的命令多于1个时,我应该一直使用它吗?

这取决于。您应该逐案讨论。

  

如果我想一次向Redis服务器发送10条SET命令,我应该简单地逐个运行10条命令还是应该对它们进行管道传输?

通过管道传递这些命令将比发送10条命令快得多。但是,在这种情况下,最好的选择是使用MSET命令。

  

用管道传输10条SET命令而不是一一发送它们有什么缺点吗?

使用管道,Redis需要消耗更多的内存来保存所有这些管道命令的结果,直到获取这些结果为止。因此,如果您传递太多命令,那可能是个问题。