首页 > 解决方案 > XAUTOCLAIM 后重试计数器的访问值

问题描述

我正在使用 Redis 流来构建排队功能。我想防止坏消息阻塞队列,所以我只想在丢弃它们之前尝试 N 次。

我正在使用模式:

Producer: XADD
Consumer: XAUTOCLAIM or XREADGROUP
Consumer: XACK

消费者首先尝试 XAUTOCLAIM 来自挂起列表的旧消息,如果不存在,它使用 XREADGROUP 从队列中挑选一条消息。然后它会 XACK 处理过的消息。

XAUTOCLAIM 的文档提到了一个“重试计数器”,这听起来很适合我的用例。但我不知道如何读取消息的重试计数器。

标签: redis

解决方案


正如 Itamar Haber 在评论中指出的那样,可以使用XPENDING 的扩展形式访问重试计数器。具体来说,响应元组的第四个值是“此消息被传递的次数”。


推荐阅读