Redis pipeline的深入解析
发表时间: 2024-05-02 21:53
管道技术:Redis的pipeline可以一次性发送多条命令给服务端处理,也就是批处理。
为什么需要pipeline呢
Redis本身是基于一个请求一个响应方式的同步请求,正常情况下,客户端发送一个命令,等待Redis服务器返回结果,如果同时需要执行大量的命令,需要频繁调用系统IO、发送网络请求,非常影响性能。pipeline 通过减少客户端与 redis 的通信次数来实现降低往返延时时间,提高执行效率。
数据包从客户端到达服务器,并从服务器返回数据回复客户端。 这个时间被称之为 RTT (Round Trip Time - 往返时间)
Pipeline与原生批量命令对比
Pipeline与事务对比
pipeline与lua脚本对比
1、cluster并不支持pipeline操作
2、使用pipeline组装的命令个数不能太多
3、pipeline缓冲的指令只是会依次执行,但是不能保证原子性,如果执行中间某一个指令发生异常,将会继续执行后续的指令