Redis命令列出订阅redis频道的所有订阅者

Mr *_*nch 11 javascript redis node-redis

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

127.0.0.1:6379> PUBSUB CHANNELS
1) "mychannel"
2) "mychanne2"
Run Code Online (Sandbox Code Playgroud)

如何列出在channel1或channel2上订阅的订阅者.?

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

小智 9

您可以使用PUBSUB NUMSUB channel1ORPUBSUB NUMSUB channel2并获取有关指定频道的订阅者数量的回复。


Jon*_*ker 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
});
Run Code Online (Sandbox Code Playgroud)