2016-02-11 234 views
11

下面的命令只給出頻道列表。Redis命令列出所有訂閱redis頻道的訂戶

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

如何列出訂閱的Channel4或通道2的用戶?

我din't發現Redis的命令列出所有用戶一個特定的頻道

+0

任何反饋...? –

回答

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 
}); 
+0

如果條件代替'name' &&'constants.REDIS_SUBSCRIBER_NAME' –

+0

,我需要('redis'),然後創建redis_client客戶端,然後在節點中觸發了這個腳本,它說'常量沒有定義' –

+0

這是您可以設置給您的用戶客戶端的名稱。 'subscriber.client('setname',constants.REDIS_SUBSCRIBER_NAME);'。 **使用你自己的名字**。 –