【发布时间】:2019-07-03 12:00:50
【问题描述】:
我在redis stream documentation 中看到这个,上面写着:
是时候尝试使用消费者组阅读一些东西了:
> XREADGROUP GROUP mygroup Alice COUNT 1 STREAMS mystream > 1) 1) "mystream" 2) 1) 1) 1526569495631-0 2) 1) "message" 2) "apple"XREADGROUP 回复就像 XREAD 回复一样。但是请注意 GROUP 上面提供,它表明我想 使用消费者组 mygroup 从流中读取,我是 消费者爱丽丝。每次消费者使用 消费者组,它必须指定其唯一标识此的名称 组内的消费者。
上面的命令行还有一个很重要的细节, 在强制 STREAMS 选项之后,为密钥请求的 ID mystream 是特殊 ID >。此特殊 ID 仅在 消费者组的上下文,这意味着:消息永远不会传递到 到目前为止的其他消费者。
我正在尝试在 redis-py 中指定 ">" 参数。
当我查看文档here 时,我没有看到流中的任何参数似乎可以让我这样做。具体来说,我正在尝试:
>>> r.xreadgroup(mygroupname,myconsumer,{mystream : ">"},1)
[] # oh no, empty. WHY?!
#
# even though
>>> r.xread({mystream: '1561950326849-0'}, count=1)
[[b'stuff-returned-successfully.]]
我错过了什么?为什么我不能指定一个“>”来表示看不见的消息?
【问题讨论】: