Pipline
Redis执行一条命令的过程:
发送命令 -> 命令排队 -> 命令执行 -> 返回结果
这样一个过程称为Round Time Trip(RTT
,往返时间)
- Redis命令真正执行的时间通常是微妙级的,所以才有Redis的性能瓶颈是网络的说明。
- Pipline可以实现一次RTT但是执行了N条命令
- 客户端与服务器网络延时越大那么Pipline效果越明显
- 需要控制Pipeline的大小,否则会消耗Redis的内存
与原生批量命令的区别
- 原生批量命令是原子性的,而Pipeline是非原子性的
- 原生批量命令是一个命令多个key,而Pipeline可以是多个命令
- 原生批量命令是服务端实现,而Pipeline需要服务端和客户端的共同实现