【问题标题】:How can I subscribe to all available channels?如何订阅所有可用频道?
【发布时间】:2014-11-29 14:47:03
【问题描述】:

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

我没有收到任何消息。我做错了吗?

【问题讨论】:

    标签: node.js redis publish-subscribe


    【解决方案1】:

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

    var channels = ['test','foo','bar']
    
    client.subscribe(channels);
    

    【讨论】:

      【解决方案2】:

      原来有一个特殊的事件:

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

      【讨论】:

        猜你喜欢
        • 2018-07-30
        • 2016-05-22
        • 2011-12-31
        • 2018-05-18
        • 1970-01-01
        • 2016-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多