文章目录
- [①. 管道(pipeline)概念](#①. 管道(pipeline)概念)
- [②. 管道案列演示](#②. 管道案列演示)
- [③. 管道命令总结](#③. 管道命令总结)
①. 管道(pipeline)概念
- ①. 管道(pipeline)可以一次性发送多条命令给服务端,服务端依次处理完完毕后,通过一条响应一次性将结果返回,通过减少客户端与redis的通信次数来实现降低往返延时时间。 pipeline实现的原理是队列,先进先出特性就保证数据的顺序性
- Pipeline是为了解决RTT往返回时,仅仅是将命令打包一次性发送,对整个Redis的执行不造成其它任何影响
- Round Trip Time(简称RTT,数据包往返于两端的时间)

②. 管道案列演示

③. 管道命令总结
- ①. Pipeline与原生批量命令对比
- 原生批量命令是原子性(例如:mset, mget),pipeline是非原子性
- 原生批量命令一次只能执行一种命令,pipeline支持批量执行不同命令
- 原生批命令是服务端实现,而pipeline需要服务端与客户端共同完成
- ②. 使用Pipeline注意事项
- pipeline缓冲的指令只是会依次执行,不保证原子性 ,如果执行中指令发生异常,将会继续执行后续的指令
- 使用pipeline组装的命令个数不能太多,不然数据量过大客户端阻塞的时间可能过久,同时服务端此时也被迫回复一个队列答复,占用很多内存