是否可以使用非阻塞Redis pubsub?

我想使用redis的pubsub传输一些消息,但不想使用阻止listen,例如以下代码:

import redis

rc = redis.Redis()

ps = rc.pubsub()

ps.subscribe(['foo', 'bar'])

rc.publish('foo', 'hello world')

for item in ps.listen():

if item['type'] == 'message':

print item['channel']

print item['data']

最后for一部分将被阻止。我只想检查给定频道中是否有数据,该如何完成?有没有check类似的方法?

回答:

我认为那不可能。通道没有任何“当前数据”,您订阅了一个通道并开始接收该通道上其他客户端推送的消息,因此它是一个阻塞的API。另外,如果您查看pub /

sub 的Redis Commands文档,将会更加清楚。

以上是 是否可以使用非阻塞Redis pubsub? 的全部内容, 来源链接: utcz.com/qa/419040.html

回到顶部