redis pipeline

redis 执行多条连续的命令的时候为了减少网络开销RTT,可以使用pipeline技术。
redis pipeline_第1张图片
redis pipeline_第2张图片
pipeline 与 原生批命令(mset, mget) 对比:

  1. 原生批命令是原子性,pipeline是非原子性
    (原子性概念:一个事务是一个不可分割的最小工作单位,要么都成功要么都失败。原子操作是指你的一个业务逻辑必须是不可拆分的. 处理一件事情要么都成功,要么都失败,原子不可拆分)
  2. 原生批命令一命令多个key, 但pipeline支持多命令(存在事务),非原子性
  3. 原生批命令是服务端实现,而pipeline需要服务端与客户端共同完成(客户端按顺序打包命令,redis服务端按顺序执行,然后将结果按顺序打包返回)

你可能感兴趣的:(redis,数据库,缓存)