8 hours ago
- Redis Streams 填补了列表、有序集合和发布/订阅之间的空白,用于建模消息序列或事件。
- 该概念受 Kafka 消费者组以及用户关于事务日志风格数据类型的想法启发。
- 实现使用基数树和列表包,以实现空间效率以及按 ID 或时间的索引访问。
- 关键命令包括 XADD(添加条目)、XRANGE(范围查询)和 XREAD(从多个流中阻塞读取)。
- 通过 MAXLEN 支持带上限的流,并可使用 '~' 进行可选的近似修剪。
- 消费者组(正在进行中)允许多个客户端共享消息,并具有确认和重试功能。
- 内存使用率低;RDB 加载速度快(例如,0.3 秒内加载 500 万条条目)。
- Streams 将在两个月内移植到 Redis 4.0 以用于生产环境。