我是redis的新手,当我应该使用流水线操作或者要发送的命令多于1条时我应该一直使用它吗?
例如,如果我想一次向Redis服务器发送10条SET命令,我应该简单地逐个运行10条命令还是应该对它们进行管道传输?
用管道传输10条SET命令而不是一一发送它们有什么缺点吗?
非常感谢。
答案 0 :(得分:3)
何时应该使用流水线
当需要向Redis发送很多命令时,管道用于减少RTT,从而可以提高性能。
当要发送的命令多于1个时,我应该一直使用它吗?
这取决于。您应该逐案讨论。
如果我想一次向Redis服务器发送10条SET命令,我应该简单地逐个运行10条命令还是应该对它们进行管道传输?
通过管道传递这些命令将比发送10条命令快得多。但是,在这种情况下,最好的选择是使用MSET
命令。
用管道传输10条SET命令而不是一一发送它们有什么缺点吗?
使用管道,Redis需要消耗更多的内存来保存所有这些管道命令的结果,直到获取这些结果为止。因此,如果您传递太多命令,那可能是个问题。