我试图理解这个使用Gevent和Redis pub / sub的socket.io代码。显然,subscribe
方法等待频道上的消息。
我可以拥有(数十个)数千个频道,每个频道 用于向一个用户推送通知和聊天吗?渠道意味着什么?
def _sub_listener(socketio, chan):
"""
This is the method that will block and listen
for new messages to be published to redis, since
we are using coroutines this method can block on
listen() without interrupting the rest of the site
"""
red = Redis(REDIS_HOST)
red.subscribe(chan)
for i in red.listen():
socketio.send({'message': i})
答案 0 :(得分:0)
我也在寻找同样的事情。通过搜索我发现论坛上说Redis可以非常高效地处理多达10k个频道。但是如果频道超过10k,我就没有得到任何绝对的答案。
我目前正在尝试使用共享频道。 Here是使用共享通道的示例算法/实现。