【发布时间】:2013-10-27 12:31:09
【问题描述】:
目前我正在使用 node.js 和 redis 来构建应用程序,我使用 redis 的原因是因为发布/订阅功能。该应用程序只是在用户进入用户或离开房间时通知经理。
function publishMsg( channel , mssage){
redisClient.publish(channel,JSON.stringify());
}
publishMsg('room/1/user/b',{'room':1,'user':'b'});
publishMsg('room/1/user/c',{'room':1,'user':'c'});
publishMsg('room/2/user/b',{'room':2,'user':'b'});
publishMsg('room/2/user/c',{'room':2,'user':'c'});
function subscribe(pattern){
redisClient.psubscribe(pattern);
redisClient.on('pmessage', function(pattern, channel, message){
console.log('on publish / subscribe ', pattern+" "+channel+" "+message+" "+ JSON.parse( message) );
});
}
因为我想听 join and disjoin 事件,所以我的问题是 我应该使用两个redisclient来监听这两个事件吗,比如
redisClient1.psubscribe('room/*/user/*/join');
redisClient2.psubscribe('room/*/user/*/disjoin');
或者只使用一个redisclient来监听和分离回调内部的逻辑
redisClient2.psubscribe('room/*/user/*');
我知道这两种方式是可能的,但我不知道人们在现实中是如何使用它们的,在什么情况下?
【问题讨论】:
标签: node.js redis publish-subscribe