首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在redis-py中指定">“

如何在redis-py中指定">“
EN

Stack Overflow用户
提问于 2019-07-01 03:34:12
回答 1查看 1.3K关注 0票数 1

我在红潮文献上看到这个,上面写着:

是时候尝试使用使用者组来阅读一些东西了:。XREADGROUP组Alice计数1数据流> 1) 1) " mystream“2) 1) 1) 1526569495631-0 2) 1)”消息“2) "apple” XREADGROUP答复与XREAD答复一样。注意,不管上面提供的组是什么,它都说我想使用使用者组mygroup从流中读取,我是使用者Alice。每次使用者对使用者组执行操作时,它必须指定其名称,唯一地标识该组内的该使用者。 在上面的命令行中还有另一个非常重要的细节,在强制流选项之后,为mystream键请求的ID是特殊ID >。这个特殊的ID仅在使用者组的上下文中有效,它意味着:到目前为止从未传递给其他使用者的消息。

我试图在redis-py中指定">“参数。

当我查看文档这里时,我在流中没有看到任何似乎允许我这样做的参数。具体来说,我在努力:

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

我遗漏了什么?为什么我不能指定一个">“来表示看不见的消息呢?

EN

回答 1

Stack Overflow用户

发布于 2019-07-01 03:39:23

你在这个问题上有一个错误的假设,认为你有/看不到/看到了信息。该命令应该可以工作,但如果您已经看过所有消息一次,则不会起作用。

试一试

代码语言:javascript
复制
# make sure you have not seen anything in your stream by resetting last seen to 0
>>> r.xgroup_setid(mystream,mygroupname,0) # RESET ALL

现在

代码语言:javascript
复制
r.xreadgroup(mygroupname,myconsumer,{mystream : ">"},1)

效果很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56829731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档