【Redis7】10大数据类型之Stream类型
Redis Stream 是 Redis 5.0 版本新引入的数据类型,用于提供一个消息流的功能,类似于 Kafka 或者 RabbitMQ 的功能。
Redis Stream 是一个key-item的集合,其中每个item都是一个消息,每个消息都有一个唯一的ID和对应的内容。
Redis Stream 的主要特点:
- 消息ID唯一,由10字节的Long类型组成,可以唯一标识一条消息。
- 消息内容可以是任何格式,可以是字符串、列表、集合、有序集合等。
- 可以通过XADD命令添加消息到Stream,使用XREAD命令读取消息。
- 消息是持久化的,即使服务器重启,消息也不会丢失。
- 可以通过消息ID设置消费者的读取位置,实现消息的顺序读取。
- 支持消费者组,允许多个消费者同时消费Stream中的消息。
以下是一些基本操作的示例代码:
- 添加消息到Stream:
XADD mystream * field1 value1 field2 value2
- 读取Stream中的消息:
XREAD COUNT 2 STREAMS mystream mystream2
- 创建消费者组并添加消费者:
XGROUP CREATE mystream mygroup $
XGROUP CREATE mystream mygroup 0
- 从消费者组读取消息:
XREADGROUP GROUP mygroup myconsumer COUNT 2 STREAMS mystream >
- 确认消息已消费:
XACK mystream mygroup 15269333347-0
以上操作都是基于Redis Stream的基本操作,实际应用中可能还会涉及到消息的持久化、高可用性等更复杂的场景。
评论已关闭