【发布时间】:2011-07-15 07:06:54
【问题描述】:
是否可以向 Redis 连接添加其他订阅?我有一个监听线程,但它似乎不受新的 SUBSCRIBE 命令的影响。
如果这是预期的行为,如果用户将股票行情提要添加到他们的兴趣或加入聊天室,应该使用什么模式?
我想实现一个类似于以下的 Python 类:
import threading
import redis
class RedisPubSub(object):
def __init__(self):
self._redis_pub = redis.Redis(host='localhost', port=6379, db=0)
self._redis_sub = redis.Redis(host='localhost', port=6379, db=0)
self._sub_thread = threading.Thread(target=self._listen)
self._sub_thread.setDaemon(True)
self._sub_thread.start()
def publish(self, channel, message):
self._redis_pub.publish(channel, message)
def subscribe(self, channel):
self._redis_sub.subscribe(channel)
def _listen(self):
for message in self._redis_sub.listen():
print message
【问题讨论】: