如何订阅所有可用频道?
问题描述:
我在写一个nodejs redis客户端。如何订阅所有可用频道?
如何订阅Redis服务器上的所有可用频道?
我可以成功地收听的频道做:
var rclient = redis.createClient();
rclient.subscribe('test');
rclient.on("message", function (channel, message) {
console.log('Got message from ' + channel);
};
,但如果我尝试使用模式:
rclient.psubscribe('test')
或:
rclient.psubscribe('*')
我没有得到任何消息。我做错了吗?
答
原来,有一个特殊的事件:
rclient.on("pmessage", function (pattern, channel, message) {
console.log('Got message from ' + channel);
};
答
记录,因为他们创造了那么你的服务器上的所有通道使用订阅他们都一气呵成:
var channels = ['test','foo','bar']
client.subscribe(channels);