使用 XREADGROUP 获取指定的 id
Use XREADGROUP to get the id specified
我想知道是否有命令或参数可以用来获取指定 RecordId 的消息,例如
XREADGROUP GROUP mygroup myconsumer COUNT 1 STREAMS mystream 12345-0
我想要 ID 为 12345-0 的消息,但我似乎收到了 12345-0 之后的第一条消息。
我无法使用 XRANGE,因为它不更新 deliveryCount 和 lastDeliveryTime,而且它似乎不理解消费者组的概念。
我也知道
XREADGROUP GROUP mygroup myconsumer STREAMS mystream 0
这会给我所有待处理的消息,但这会更新所有消息的 deliveryCount 而我不希望这样。
Redis本身并没有提供你所要求的功能。所以你可能不得不
使用像
这样的东西
XREADGROUP GROUP mygroup myconsumer COUNT 1 个流 mystream 12344-99999
而不是“12345-0”
Redis Stream返回的entry id格式为millisecondsTime-sequenceNumber。
由于您不太可能在一毫秒内插入 99999 个项目,因此您可以确保获得正确的项目。
我想知道是否有命令或参数可以用来获取指定 RecordId 的消息,例如
XREADGROUP GROUP mygroup myconsumer COUNT 1 STREAMS mystream 12345-0
我想要 ID 为 12345-0 的消息,但我似乎收到了 12345-0 之后的第一条消息。
我无法使用 XRANGE,因为它不更新 deliveryCount 和 lastDeliveryTime,而且它似乎不理解消费者组的概念。
我也知道
XREADGROUP GROUP mygroup myconsumer STREAMS mystream 0
这会给我所有待处理的消息,但这会更新所有消息的 deliveryCount 而我不希望这样。
Redis本身并没有提供你所要求的功能。所以你可能不得不 使用像
这样的东西XREADGROUP GROUP mygroup myconsumer COUNT 1 个流 mystream 12344-99999
而不是“12345-0”
Redis Stream返回的entry id格式为millisecondsTime-sequenceNumber。 由于您不太可能在一毫秒内插入 99999 个项目,因此您可以确保获得正确的项目。