pipeline解决Redis频繁命令往返导致的性能瓶颈
客户端和服务端交互模型

Redis 的 pipeline 交互模型





Redis pipeline 与原生批量mset等等命令对比
- 原生批量命令是原子性,pipeline 是非原子性的
- 原生批量命令一次只能执行一种命令,pipeline 支持批量执行不同命令
- 原生批命令是服务端实现,而 pipeline 需要服务端与客户端共同完成
需要注意:
- Redlis 事务是具有隔离性的,在执行过程中不会穿插执行其他客户瑞发送的命令
- 使用 pipeline 组装的命令个数不能太多,不然数据量过大
- pipeline 会按照指令缓冲的顺序执行,但是可能会穿插其他客户端发送来的命令,即时序性不一定能够保证
- pipeline 执行中间某一个指令出现异常,将会继续执行后续的指令,即不能保证原子性
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 褚成志的分享站!