Redis 的 XREAD 命令用于從多個 Redis 數據庫中讀取數據,支持多客戶端協作
XREAD COUNT 10 stream1 > my_stream
這將請求從名為 stream1
的流中讀取最多 10 條消息,并將結果存儲在客戶端 A 的內存中。
XREAD COUNT 10 stream1 > my_stream
這將請求從名為 stream1
的流中讀取最多 10 條消息,并將結果存儲在客戶端 B 的內存中。
stream1
中讀取到以下消息:1) "1" "my_stream" "field1" "value1"
2) "2" "my_stream" "field2" "value2"
那么客戶端 A 和客戶端 B 都會收到相同的消息。
XREAD COUNT 5 stream1 > my_stream
這將請求從名為 stream1
的流中讀取最多 5 條消息,并將結果存儲在客戶端 A 和客戶端 B 的內存中。
通過這種方式,多個客戶端可以協作讀取 Redis 流中的數據,實現實時數據處理和共享。需要注意的是,XREAD 命令返回的數據是按照客戶端請求的順序排列的,因此不同客戶端可能會收到不同的數據順序。如果需要確保數據順序一致,可以使用 XGROUP SETID 命令將多個客戶端分組到同一個消費者組中。