redis stream

本文介绍Redis Stream的使用方法,包括消息的新增、删除、获取长度、截取范围、设定最大长度,以及如何通过XREADGROUP进行消费并实现消息的确认。同时,探讨了消费者概念,如何创建消费组并实现消费者间的轮询消费。
  • 消息可以新增,删除,获取长度,截取范围,设定最大长度(最小ID即被删除)
    XADD person * name tomEX desc is a milk
    
    XTRIM person MAXLEN 4   截取消息
    
    XADD person MAXLEN 5 * name tomEX333 desc is a milk  设置最大消息长度
    
    XRANGE person - +
    XRANGE person 1598966215281-5 +
    XRANGE person - 1598966215281-5
    
    
    127.0.0.1:6379> XREVRANGE person + -
    1) 1) "1598966215281-5"
       2) 1) "name"
          2) "tomEX333"
          3) "desc"
          4) "is"
          5) "a"
          6) "milk"
    2) 1) "1598966215281-4"
       2) 1) "name"
          2) "tomEX11"
          3) "desc"
          4) "is"
          5) "a"
          6) "milk"
    
    上述是倒序展示
    
    
    127.0.0.1:6379> XREVRANGE person + - COUNT 1
    1) 1) "1598966215281-5"
       2) 1) "name"
          2) "tomEX333"
          3) "desc"
          4) "is"
          5) "a"
          6) "milk"
    上述是倒序展示一个,分页
    
    

     

  • 消费可以设定等待时长  0 代表无限等待直到有大于监听时候的ID        
    XREAD BLOCK 0 STREAMS person $             无限等待  

     

  • 消费者的概念,一个消费者各消费者轮流消费某stream的消息
    XGROUP CREATE person group1 $    创建消费组group1  $ 代表从最大的ID开始监听
    
    XREADGROUP GROUP group1 taotao BLOCK 0 STREAMS person  窗口消费者 1
    
    XREADGROUP GROUP group1 yangyang BLOCK 0 STREAMS person  窗口消费者 2
    
    上述两个消费者会轮流消费

     

  • 消费者必须ack其消费的消息,否则会一直获取到
    XACK person group1 3-2   代表ack了person队列的 群组消息ID

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值