是否可以使用非阻塞Redis pubsub?
我想使用redis的pubsub传输一些消息,但不想使用阻止listen
,例如以下代码:
import redisrc = 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