Skip to content

Stream消息队列 ​

概述 ​

Stream是Redis 5.0引入的数据结构,弥补了PubSub的不足,支持消息持久化。

基本命令 ​

生产者 ​

redis
XADD mystream * field value    # 添加消息,*自动生成ID
XADD mystream 1000000000000-0 field value  # 指定ID
XRANGE mystream - + COUNT 10   # 读取消息

消费者组 ​

redis
XGROUP CREATE mystream group1 0     # 创建消费者组
XREADGROUP GROUP group1 consumer1 STREAMS mystream 0  # 消费消息
XACK mystream group1 message_id      # 确认消息

核心特性 ​

特性说明
消息ID格式:timestamp-sequence
消费者组支持多消费者、负载均衡
消息确认ACK机制保证消费
消息持久化保存在Stream中
范围查询支持ID范围查询

面试考点 ​

Q: Stream vs PubSub? ​

特性PubSubStream
持久化否是
消息确认否是
消费者组否是
消息回溯否是

Q: Stream应用场景? ​

  1. 消息队列
  2. 事件流处理
  3. 实时通知
  4. 日志收集

最后更新: