XACK

返回流的消费者组成员成功确认的消息数。

语法

XACK key group id [id ...]

引入版本:5.0.0

复杂度摘要:O(1)

XACK 命令从流消费者组的 待处理条目列表 (PEL) 中删除一条或多条消息。当消息被传递给某个消费者时(通常是调用 XREADGROUP 的副作用),或者当消费者获得调用 XCLAIM 的消息的所有权时,消息处于待处理状态,因此存储在 PEL 内。待处理的消息已传递给某个消费者,但服务器尚未确定它至少被处理过一次。因此,对 XREADGROUP 的新调用以获取消费者的消息历史记录(例如使用 ID 0),将返回此类消息。同样,待处理的消息将由检查 PEL 的 XPENDING 命令列出。

一旦消费者 成功 处理了一条消息,它就应该调用 XACK,这样该消息就不会被再次处理,并且作为副作用,有关该消息的 PEL 条目也会被清除,从而从 Redis 服务器释放内存。

必需参数

key

流键。

group

消费者组名称。

id [id ...]

一个或多个要确认的消息 ID。

示例

redis> XACK mystream mygroup 1526569495631-0
(integer) 1

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

整数回复:该命令返回成功确认的消息数。某些消息 ID 可能不再是 PEL 的一部分(例如,因为它们已经被确认),并且 XACK 不会将它们计为已成功确认。

RESP3

整数回复:该命令返回成功确认的消息数。某些消息 ID 可能不再是 PEL 的一部分(例如,因为它们已经被确认),并且 XACK 不会将它们计为已成功确认。

资料来源:Redis 官方 XACK 文档;中文内容参考 Redis 文档许可。