redis流(Stream):就是redis版本的MQ,消息中间件
作用:实现消息队列,它支持消息的持久化,支持自动生成全局唯一id,支持ack确认消息的模式,支持消费组模式等,让消息队列更加的稳定和可靠。
1.xadd key */id field value 添加消息到队列末尾,id必须比上个id大,使用*号默认生成id
xrange key 获取消息列表,忽略删除的消息:start表示开始值,-代表最小值;end表示结束值,+代表最大值;count表示最多获取多少个值
2.xrevrange 逆序显示
xdel key id删除对应id的消息
xlen key 显示这个key一共有多少个id
3.xtrim 截取
maxlen允许的最大长度,对流进行修剪限制长度
minid允许的最小id,比其小的会被删掉
4.xread读取消息(阻塞/非阻塞),只会返回大于指定ID的信息
(1)非阻塞:$代表特殊id表示以当前stream已经存储的最大id作为最后一个id,当前stream中不存在大于当前最大id的消息,所以这个时候返回nil
0-0代表从最小的id读取stream消息,不指定count的话胡返回所有消息,也可以使用0/00/000
(2)阻塞:block 是否以阻塞方式读取消息,默认不阻塞,比如查询$那个,需要另一个号去添加一个新的才有