【发布时间】:2013-12-09 22:19:33
【问题描述】:
我正在构建一个应用程序,服务器偶尔会在给定通道上发布数据:
redisClient.publish('global-channel', data);
客户端需要能够连接到服务器并收听全局广播。这种方法有什么问题吗?具体来说,为每个socket连接创建一个redisClient?
io.sockets.on('connection', function(socket){
var socketRedis = redis.createClient();
socketRedis.subscribe('global-channel');
socketRedis.on('message', function(ch, msg){
socket.emit('event', msg);
});
});
我是 Node、Redis 和 socket.io 的新手...仍在学习哪个部分应该处理某些任务以及在哪里(服务器端与客户端)——谢谢!
【问题讨论】:
-
redis 客户端有没有事件监听功能(订阅,开启)?
-
是的,它有效......只是看看这种方法是否有更好的方法/潜在问题
-
有趣,我没有意识到这一点。