*Redis XREAD 命令 从多个 Stream 读取消息(可阻塞)
*语法
XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]
*说明
从多个 Stream 读取消息。
选项:
COUNT:返回的最大消息数量BLOCK:阻塞等待毫秒数(0 表示永久阻塞)STREAMS:指定要读取的 StreamID:$表示只读取新消息,0表示读取所有历史消息
*返回值
- 数组:消息列表或 nil(超时)
*时间复杂度
- O(N),N 是返回的消息数量
*版本兼容性
| Redis 版本 | 说明 |
|---|---|
| >= 5.0.0 | 可用 |
*示例
# 读取所有历史消息
redis-cli XREAD STREAMS mystream 0
# 阻塞等待新消息
redis-cli XREAD BLOCK 5000 STREAMS mystream $
# 从多个 Stream 读取
redis-cli XREAD STREAMS stream1 stream2 0 0