首页/数据/Redis 进阶速查/Stream 容量控制:MAXLEN 与 XTRIM
数据结构与选型42 条

Stream 容量控制:MAXLEN 与 XTRIM

XADD 时带 MAXLEN 或独立执行 XTRIM,把 Stream 限制在可控长度;加 ~ 表示近似裁剪、更快,不加则精确裁剪。

Redis 进阶速查数据更新于 2026-10-12
写入裁剪XADD key MAXLEN ~1000 * f v
独立裁剪XTRIM key MAXLEN ~ 1000
按 ID 裁剪XTRIM key MINID ~ 1730000000000

示例

示例
redis-cli XADD logs MAXLEN ~ 1000 '*' msg hello
redis-cli XTRIM logs MAXLEN ~ 5000
redis-cli XTRIM logs MINID 1730000000000
redis-cli XINFO STREAM logs
近似裁剪按宏节点(默认约 100 条)整块删除,实际保留数量可能略多于设定值,这是性能与精度的取舍。

易错点

  • 频繁精确裁剪(不带 ~)会逐条删除,开销明显高于近似模式
  • 按 MINID 裁剪保留时间窗口时要确认消费组进度不被裁掉

数据来源与参考

  • Redis 官方文档:XADD / XTRIM 命令(MAXLEN、MINID 选项)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌