Python 如何指定&燃气轮机&引用;在redis py中

Python 如何指定&燃气轮机&引用;在redis py中,python,redis,Python,Redis,我在书中看到这个,上面写着: 是时候尝试使用消费群体阅读一些东西了: > XREADGROUP GROUP mygroup Alice COUNT 1 STREAMS mystream > 1) 1) "mystream" 2) 1) 1) 1526569495631-0 2) 1) "message" 2) "apple" XREADGROUP回复与XREAD回复一样。然而,请注意该组 如上所述,它表明我想 使用消费者组mygrou

我在书中看到这个,上面写着:

是时候尝试使用消费群体阅读一些东西了:

> XREADGROUP GROUP mygroup Alice COUNT 1 STREAMS mystream >
1) 1) "mystream"
   2) 1) 1) 1526569495631-0
         2) 1) "message"
            2) "apple"
XREADGROUP回复与XREAD回复一样。然而,请注意该组 如上所述,它表明我想 使用消费者组mygroup从流中读取,我是 消费者爱丽丝。每次耗电元件使用 消费者组,它必须指定唯一标识此用户组的名称 集团内部的消费者

在上面的命令行中还有一个非常重要的细节, 在强制流选项之后,输入为密钥请求的ID mystream是一个特殊的ID>。此特殊ID仅在中有效 消费者群体的上下文,这意味着:消息从未传递到 到目前为止,还有其他消费者

我正在尝试在redis py中指定“>”参数

当我查看文档时,我在streams中没有看到任何参数可以让我这样做。具体而言,我正在尝试:

>>> r.xreadgroup(mygroupname,myconsumer,{mystream : ">"},1)
[] # oh no, empty. WHY?!
# 
# even though
>>> r.xread({mystream: '1561950326849-0'}, count=1)
[[b'stuff-returned-successfully.]]

我错过了什么?为什么我不能指定一个“>”来表示未看到的消息?

在这个问题中,您有一个错误的假设,即您有/未看到/消息。该命令应该可以工作,但如果您已经看到所有消息一次,则不会工作

试一试

现在

很好

# make sure you have not seen anything in your stream by resetting last seen to 0
>>> r.xgroup_setid(mystream,mygroupname,0) # RESET ALL
r.xreadgroup(mygroupname,myconsumer,{mystream : ">"},1)