Redis流水线何时变得更高效?

Redis流水线何时变得更高效?,redis,pipeline,jedis,Redis,Pipeline,Jedis,我想知道,流水线何时变得更高效?例如,如果我必须查询服务器一次,那么管道的效率将低于仅使用redis实例的效率 如果我必须查询服务器两次,例如检查某个东西是否存在,如果存在,则抓取它,管道是否更有效,或者是否正在使用redis实例 如果我要问某件事三次。。等等 什么时候流水线比使用redis实例更高效~ 谢谢你如果你只做一次手术,也是一样的 流水线式批处理机制。如果您有三个命令以正常方式执行,客户端需要发送三个tcp数据包并接收三个tcp数据包(每个命令需要发送一个并接收一个);但当使用管道时,

我想知道,流水线何时变得更高效?例如,如果我必须查询服务器一次,那么管道的效率将低于仅使用redis实例的效率

如果我必须查询服务器两次,例如检查某个东西是否存在,如果存在,则抓取它,管道是否更有效,或者是否正在使用redis实例

如果我要问某件事三次。。等等

什么时候流水线比使用redis实例更高效~


谢谢你

如果你只做一次手术,也是一样的

流水线式批处理机制。如果您有三个命令以正常方式执行,客户端需要发送三个tcp数据包并接收三个tcp数据包(每个命令需要发送一个并接收一个);但当使用管道时,客户端包3命令发送到服务器,只需发送一个tcp包并接收一个


你可以看到官方文件:

如果你只操作一次,它是一样的

流水线式批处理机制。如果您有三个命令以正常方式执行,客户端需要发送三个tcp数据包并接收三个tcp数据包(每个命令需要发送一个并接收一个);但当使用管道时,客户端包3命令发送到服务器,只需发送一个tcp包并接收一个


您可以看到官方文件:

谢谢,这很有意义,非常有用!您好,这是否意味着当有多个命令要发送到服务器时,我应该始终使用管道?有什么缺点吗?我是在问这个问题。你有时间可以看一看。非常感谢。@sgon00是的,它有,因为redis服务器是单线程处理命令。如果一个客户端提交大的流水线命令,它将阻止另一个客户端进行处理。就像mysql一样,你可以一次查询10000行,也可以100次查询100行。@shaoyihe说到点子上了。非常感谢您的回复。那么我应该设置10个命令吗?还是我应该一个接一个地发送它们?@sgon00没有单一的解决方案。我更喜欢管道10集命令。谢谢,这是有意义的,非常有用!您好,这是否意味着当有多个命令要发送到服务器时,我应该始终使用管道?有什么缺点吗?我是在问这个问题。你有时间可以看一看。非常感谢。@sgon00是的,它有,因为redis服务器是单线程处理命令。如果一个客户端提交大的流水线命令,它将阻止另一个客户端进行处理。就像mysql一样,你可以一次查询10000行,也可以100次查询100行。@shaoyihe说到点子上了。非常感谢您的回复。那么我应该设置10个命令吗?还是我应该一个接一个地发送它们?@sgon00没有单一的解决方案。我更喜欢管道10 SET命令。