DT_Stone<Redis 高手心法> 读书笔记 | P6-数据结构- Stream 中发帖

Stream
支持消费者组的轻量级 MQ
Stream 是 redis5.0 专门为消息队列设计的数据类型. 借鉴了 kafka 的消费者组的概念,同时提供了消息持久化和主从复制集中,客户端可以访问任何时刻的数据,并且记住每个客户端的访问位置,从而保证消息不丢失
特性:

使用 radix tree 和 listPack 结构存储消息
序列化生成消息 ID
将消息划分到不同的消费者组.消费同一个 Stream 时,同一个消费者组中的多个消费者可以并行但不能重复消费. 提升消费能力
支持多播(多对多) 阻塞和非阻塞读取
ACK 确认机制.保证消息至少被消费一次
可配置消息保存上限阈值, 丢弃历史消息,避免内存占用过大

注意 :
stream 是轻量级的,并没有实现 mq 的所有功能,使用时,需要考虑数据量和性能,可靠性的要求
对于系统消息量不大, 可以容忍数据丢失的场景,使用 st...