5
目前我正在使用node.js和redis來構建應用程序,我使用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));
});
}
,因爲我要聽的連接和防脫離事件,我的問題是 我應該用兩個redisclient聽這兩個事件,像
redisClient1.psubscribe('room/*/user/*/join');
redisClient2.psubscribe('room/*/user/*/disjoin');
或只使用一個redisclient傾聽和單獨的回調
redisClient2.psubscribe('room/*/user/*');
我知道這兩種方式都是可能的內部的邏輯,但我不知道如何在現實中人們使用它們,其中的條件?