XACK
语法
XACK key group id [id ...]
- 可用版本
- Redis Open Source 5.0.0
- 时间复杂度
- 对于每个处理的消息 ID,时间复杂度为 O(1)。
- ACL 类别
-
@write
、@stream
、@fast
、
XACK
命令从流消费者组的 *待处理条目列表 (Pending Entries List, PEL)* 中移除一个或多个消息。当消息被传递给某个消费者(通常是调用 XREADGROUP
的副作用),或者当消费者通过调用 XCLAIM
获得消息所有权时,该消息就会处于待处理状态并存储在 PEL 中。待处理消息已传递给某个消费者,但服务器尚不确定它是否已被至少处理过一次。因此,如果调用 XREADGROUP
来获取某个消费者的消息历史(例如使用 ID 0),将返回此类消息。同样,通过检查 PEL 的 XPENDING
命令也会列出待处理消息。
一旦消费者*成功*处理了消息,就应该调用 XACK
,以便该消息不再被重复处理;作为副作用,该消息在 PEL 中的条目也会被清除,释放 Redis 服务器的内存。
示例
redis> XACK mystream mygroup 1526569495631-0
(integer) 1