Redis命令执行过程:
1)客户端发送命令
2)命令排队
3)执行命令
4)返回命令结果
其中1)+4)称为RRT (Round Trip time ),往返时间。
网络是限制Redis性能的一个关键因素,所以减少网络传递次数对于提高Redis性能有很大的帮助。
例如,从Redis中获取m个字符串,可以有如下操作
1)m次get : m次网络,m次get操作
2)一次mget :1次网络,一个mget操作
3)一个pipeline get :1次网络,m次get操作
pipeline(流水管) 机制,将一组Redis命令进行组装,通过一次RRT发送给Redis,Redis再将这一组命令的结果,通过一次RRT按顺序呢返回
pipeline命令与原生批量(例如mget)命令相比
1)原生批量命令是原子性的,而pipeline是非原子性的
2)原生批量命令是一个命令对应多个key,而pipeline是支持多命令的
3)原生批量命令是服务器端实现的,而pipeline是需要服务器端和客户端共同实现的
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
jedis支持pipeline特性,如下:

--------------------------------------------------------------------------------------------
mark:
1.串行命令
2.串行IO
3.并行IO
4.hash_tag 实现
后续了解~!
网友评论