我如何订阅所有可用频道?

时间:2014-10-04 22:04:54

标签: node.js redis publish-subscribe

我正在编写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('*')

我没有留言。我做错了吗?

2 个答案:

答案 0 :(得分:0)

在创建服务器时记录所有频道,然后使用以下方式一次订阅所有频道:

var channels = ['test','foo','bar']

client.subscribe(channels);

答案 1 :(得分:0)

事实证明,有一个特殊事件:

rclient.on("pmessage", function (pattern, channel, message) {
    console.log('Got message from ' + channel);
};