Redis7系列:Redis Stream 全面解析

在这里插入图片描述

1. 核心概念

Redis Stream 是 Redis 5.0 引入的持久化消息队列数据结构,具有以下特性:

  • 有序消息存储:基于时间戳的全局唯一消息ID(格式:<毫秒时间>-<序列号>
  • 消费者组模式:支持多消费者协同处理消息
  • 数据持久化:依赖 Redis AOF/RDB 机制
  • 内存高效:底层使用紧凑的基数树(Radix Tree)存储

2. 核心命令语法

2.1 添加流信息

# 基本写入(自动生成ID)
XADD key [NOMKSTREAM] [MAXLEN | MINID [= | ~] threshold [LIMIT count]] * | id field value [field value ...]

参数解析:

  • key: Stream 的键名。
  • NOMKSTREAM**: 如果 Stream 不存在,不自动创建(默认会自动创建)。
  • MAXLEN*: 限制 Stream 的最大长度(删除旧消息)。
    • MAXLEN ~ threshold: 近似裁剪(性能优化,允许略微超过阈值)。
    • MAXLEN = threshold: 精确裁剪(严格限制长度)。
  • MINID: 删除 ID 小于 threshold 的消息(类似按时间裁剪)。
  • \*|ID:
    • *: 自动生成消息 ID(格式为 <timestamp>-<sequence>,如 1631234567890-0)。
    • 手动指定 ID(需大于已有最大 ID)。
  • field value: 消息的键值对(支持多个字段)。

示例:

# 创建my_stream流  自动生成消息ID
xadd my_stream * name zhangsan age 25

> xadd my_stream * name zhangsan age 25
"1741586247360-0"
>

2.2 获取流信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智_永无止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值