Redis Pipeline

Posted by icoding168 on 2020-04-17 02:19:22

分类: Redis  

Redis 客户端执行一条命令经历以下四个过程:

  1. 发送命令
  2. 命令排队
  3. 命令执行
  4. 返回结果

从 1 到 4 算一个 RTT(Round Trip Time,表示往返时间),Redis 提供了批量操作命令如 mget、mset 等,但大部分命令是不支持批量操作的。Pipeline(流水线)机制能将多条命令进行组装,用一次 RTT 完成执行。

Pipeline 与原生批量命令的比较:

  • 原生批量命令具有原子性,Pipeline 不具有原子性
  • 原生批量命令由 Redis 服务端单独实现,Pipeline 需要服务端和客户端共同实现