Redis Stream使用要点

本文的适用于Redis6.0。

一、流信息条目id

流(stream)中信息条目的ID必须是单调增的,为此,redis采用时间戳+自增id这种方式来保证,并且这两个数都是64bit,不会有溢出问题,最后一点,redis在增加信息条目时会检查当前id与上一条目的id,自动纠正错误的情况,一定要保证后面的id比前面大。

一个流中信息条目的ID必须是单调增的,这是流的基础,所以本文首先强调一下。

几个特殊的ID:

-,+:最小和最大可能出现的Id,也就是“0-1”和“最大整数-最大整数(64位)”

$:当前流中最大的id,可用于将要到来的信息

>:用于XREADGROUP命令中,表示迄今还没有发送给组中使用者的信息

*:用于XADD命令中,让系统自动生成id

*:用于XADD命令中,让系统自动生成id

二、三种应用模式

在官方文档中,redis提到有三种工作模式:

时序数据库模式

XRANGE用于已知上下限,查询出结果,非阻塞,因此有可能返回空。XRANGE命令没什么特别的地方(指采用其他数据结构也能完成类似功能),就是查询信息而已。

日志文件读取模式

XREAD有阻塞和非阻塞两种模式,用于从已知下限开始查询到最大ID,它可以从多个流读取(而XRANGE只能从一个流读取)

非阻塞模式:基本与XRANGE功能相同。

阻塞模式: 比较有用的是等待(阻塞)读取信息,一旦信息产生者发出消息,就取消阻塞,带结果退出了,此时如果有多个用户同时进行这种操作,每个用户都能得到信息(信息是Fan

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值