Redis瑞士军刀之-pipeline

Redis下一小节:4-4 发布订阅

Redis瑞士军刀之-pipeline

pipeline介绍:

  • 什么是流水线
  • 与原生M操作对比
  • 客户端实现
  • 使用建议

1、什么是流水线

(1)1次网络命令通信模型

(2)批量网络命令通信模型

(3)什么是流水线?

2、流水线的作用

注意

  1. Redis命令执行时间是微妙级别的
  2. pipeline每次批量命令条数需要控制(注意网络传输)

3、与原生M操作对比

mset、mget、hmset、hmget等都是原子操作:

pipeline命令是非原子操作,但是命令返回顺序能够保证:

4、客户端实现

(1)maven引入redis包

(2)没有使用pipeline执行1w个命令

(3)使用pipeline执行1w个命令

5、使用建议

(1)注意每次pipeline携带的数据量

       如果pipeline每次携带的数据量过大,会造成网络传输时间过长,进而导致网络超时。

(2)pipeline每次只能作用在一个Redis节点上

       因为pipeline每次只能作用在一个Redis节点上,所以需要考虑每个Redis节点能承受的压力。

(3)M命令操作与pipeline的区别

        mset、mget、hmget、hmset等命令是原子操作;

        pipeline操作非原子操作,但能保证命令执行顺序;

 

       mset、mget、hmget、hmset等命令是:n次网络时间+n次命令时间;

       pipeline操作命令是:1次网络时间+n次命令时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值