【问题标题】:Redis command to list all subscribers subscribed to redis channelRedis命令列出所有订阅redis频道的订阅者
【发布时间】:2016-05-22 14:40:29
【问题描述】:

下面的命令只给出频道列表。

127.0.0.1:6379> PUBSUB CHANNELS
1) "mychannel"
2) "mychanne2"

如何列出在频道 1 或频道 2 上订阅的订阅者。?

还有

我没有找到列出特定频道所有订阅者的 redis 命令

【问题讨论】:

    标签: javascript redis node-redis


    【解决方案1】:

    您可以使用PUBSUB NUMSUB channel1PUBSUB NUMSUB channel2获取指定频道订阅人数的回复。

    【讨论】:

      【解决方案2】:

      我可以通过以下方式实现:

      redis_client.multi().client(['list']).exec(function(err, results) {
        var pairs = results[0].split(' ');
        pairs.forEach(function(pair){
          var kv = pair.split('=');
          if (kv[0] == 'name' && kv[1] == constants.REDIS_SUBSCRIBER_NAME)
            found = true;
        });
        if (found) // some logic
        else // some logic
      });
      

      【讨论】:

      • 如果条件代替name && constants.REDIS_SUBSCRIBER_NAME,我应该输入什么
      • i required('redis') ,然后创建了 redis_client 客户端,然后在节点中触发了这个脚本,上面写着constants is not defined
      • 这是您可以为订阅者客户端设置的名称。 subscriber.client('setname', constants.REDIS_SUBSCRIBER_NAME);使用你自己的名字
      • 我已经创建了一个我所做的示例.. 但是从这个示例中我无法得出任何结论。github 示例github sample list_subscribers_of_redis_channels
      • 也在 github 示例中github sample list_subscribers_of_redis_channels 我在很多地方都有 console.log 并且无法确定在 channel1 或 channel2 上订阅的订阅者
      猜你喜欢
      • 2014-12-23
      • 2011-12-31
      • 1970-01-01
      • 2020-02-01
      • 2017-03-24
      • 2018-04-08
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      相关资源
      最近更新 更多