2014-10-04 192 views
0

我在寫一個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('*') 

我沒有得到任何消息。我做錯了嗎?

回答

0

原來,有一個特殊的事件:

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

記錄,因爲他們創造了那麼你的服務器上的所有通道使用訂閱他們都一氣呵成:

var channels = ['test','foo','bar'] 

client.subscribe(channels);