Redis Stream 是 Redis 5.0 版本中引入的一種新的數據結構,它用于實現簡單但功能強大的消息傳遞模式。
這篇文章,我們聊聊 Redis Stream 基本用法 ,以及如何在 SpringBoot 項目中應用 Redis Stream 。
1 基礎知識
Redis Stream 的結構如下圖所示,它是一個消息鏈表,將所有加入的消息都串起來,每個消息都有一個唯一的 ID 和對應的內容。
XADD key ID field value [field value ...]
每個 Redis Stream 都有唯一的名稱 ,對應唯一的 Redis Key 。
同一個 Stream 可以掛載多個消費組 ConsumerGroup , 消費組不能自動創建,需要使用 XGROUP CREATE 命令創建。
每個消費組會有個游標 last_delivered_id,任意一個消費者讀取了消息都會使游標 last_delivered_id 往前移動 ,標識當前消費組消費到哪條消息了。
XRANGE key start end [COUNT count]
消費組 ConsumerGroup 同樣可以掛載多個消費者 Consumer , 每個 Consumer 并行的讀取消息,任意一個消費者讀取了消息都會使游標 last_delivered_id 往前移動。