【发布时间】:2020-02-17 19:52:06
【问题描述】:
我想使用 Redis XREADGROUP 命令来使用来自多个 Redis 流的消息。在这种情况下,COUNT 参数是什么意思(即它是消息的总数,还是每个流的消息数)?另外,在这种情况下是否可以只读取一条消息?
【问题讨论】:
标签: redis consumer redis-streams
我想使用 Redis XREADGROUP 命令来使用来自多个 Redis 流的消息。在这种情况下,COUNT 参数是什么意思(即它是消息的总数,还是每个流的消息数)?另外,在这种情况下是否可以只读取一条消息?
【问题讨论】:
标签: redis consumer redis-streams
COUNT 是每个流的最大元素数。 XREADGROUP 命令是XREAD 命令的特殊版本,支持消费者组。所以XREAD 的文档适用。
您可以将 COUNT 设置为 1,然后您将在命令中的每个流中获得最多 1 个元素。
如果您不设置COUNT,您将获得每个流可用的所有消息。
【讨论】:
BLOCK 中,COUNT 将被忽略
BLOCK 被输入,只有流是空的。一旦有单条传入消息,该消息就会释放阻塞...所以COUNT 在这种情况下始终为 1。