为什么我的Redis的subscription()返回NoneType?

时间:2019-10-30 21:13:39

标签: python redis

更新

弄清楚如何使其工作:

p = r.pubsub()
p.subscribe("Some Channel")
p.get_message()

显然,您不能将p.subscribe()分配给另一个变量并对其进行操作...

原始

我对Redis pubsub()有问题。当我执行代码时,在控制台上出现以下错误:

Traceback (most recent call last):
  File "./logger.py", line 38, in <module>
    message = channel.get_message()
AttributeError: 'NoneType' object has no attribute 'get_message'

我的代码如下:

import redis

p = r.pubsub()
channel = p.subscribe("Some Channel")
message = channel.get_message()

这直接来自文档https://pypi.org/project/redis/中的示例。

我使用pip3 install redis安装了Redis,并且过去使用其他项目进行订阅,所以我认为我的redis安装不会中断。

我尝试过的事情

  • 使用redis-cli作品订阅“某些频道”
  • 在我的python脚本中发布到“某些频道”是可行的。
  • 更改频道名称不起作用(尽管也许我使用的是保留字)
  • 使用psubscribe()不起作用

无论我做什么,我都会不断收到“ NoneType”错误,因为p.subscribe(“ Some Channel”)返回None。

我想念什么吗?是什么会导致p.subscribe()返回None?

0 个答案:

没有答案