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. 日志收集

最后更新: