Redis——Stream流
Stream是Redis 5.0 引入的一种新型数据类型,允许消费者等待生产者发送新数据,还引入了消费者组的概念,组之间数据是相同的(前提是设置的偏移量一样),组内的消费者不会拿到相同数据,这种概念和kafka很雷同。
原理:Stream多个客户端之间是竞争关系,每个客户端收到的数据是不相同的。
相关命令:
1)xadd 生成消息,返回消息ID(时间戳+顺序),顺序指的是该毫秒下产生的第几条消息。
2)xlen 查看消息列表的长度
3)xrange Key - + 遍历所有的消息
4)xdel key + 消息ID 通过消息ID删除消息
5)xread + streams + key 0-0 遍历读取所有消息
6)xread + count + num + streams + key + 0-0 指定返回消息数量
7)xread + block + num + streams key + $ 可以阻塞等待消息的返回,从尾部接收。