2016-02-11 14 views
11

Команда ниже предоставляет список каналов.Команда Redis для перечисления всех подписчиков, подключенных к каналу redis

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

Как список подписчиков подписался на CHANNEL1 ИЛИ CHANNEL2.?

также

я 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

i required ('redis'), а затем создало клиент redis_client, а затем уволило этот скрипт в узле и говорит, что 'константы не определены' –

+0

Это имя, которое вы можете настроить для своего клиента-подписчика. 'subscriber.client ('setname', constants.REDIS_SUBSCRIBER_NAME);'. ** Используйте свое имя **. –