【发布时间】:2021-07-30 12:35:50
【问题描述】:
我正在使用 Redis 流,需要阻止我的客户端,直到流中至少有 X 条消息,并在达到 X 条消息时返回。 有什么方法可以实现吗?
EG:XREADGROUP GROUP G1 C2 COUNT 10 BLOCK 0 STREAMS L > 直到所有 10 条消息都到达流键
【问题讨论】:
标签: redis redis-streams
我正在使用 Redis 流,需要阻止我的客户端,直到流中至少有 X 条消息,并在达到 X 条消息时返回。 有什么方法可以实现吗?
EG:XREADGROUP GROUP G1 C2 COUNT 10 BLOCK 0 STREAMS L > 直到所有 10 条消息都到达流键
【问题讨论】:
标签: redis redis-streams
COUNT 指定每个流返回的最大个元素(如果有的话)。如果流为空(并且使用了BLOCK 选项),则消费者阻塞。一旦有单条传入消息,阻塞就会随该消息一起释放。所以不,在阅读COUNT 消息之前,您不能阻止。但是您可能可以在应用程序级别对消息进行分组。
更多详情请见XREAD。
【讨论】: