現在、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 と disjoin イベントをリッスンしたいので、私の質問は、これらの 2 つのイベントをリッスンするために 2 つの redisclient を使用する必要があるかどうかです。
redisClient1.psubscribe('room/*/user/*/join');
redisClient2.psubscribe('room/*/user/*/disjoin');
または、1 つの redisclient を使用して、コールバック内のロジックをリッスンして分離します
redisClient2.psubscribe('room/*/user/*');
これらの 2 つの方法が可能であることは知っていますが、実際に人々がそれらをどのような状況でどのように使用しているかはわかりません。