2012-06-04 25 views
5

我有簡單的例子:如何重新連接redis的?

var redis = require('redis'), 
client = redis.createClient(); 

var test = function() { 
    client.brpop('log', 0, function(err, reply) { 
     if (err != null) { 
      console.log(err); 
     } else { 
      .... parse log string .... 
     } 
     test(); 
    }); 
} 

test(); 

如何重新連接後重啓的Redis服務器redis的連接?

回答

12

Redis的客戶端會自動重新連接。只要確保你從客戶端處理"error"事件。按照the example

var redis = require('redis'); 
client = redis.createClient(); 
client.on('error', function(err){ 
    console.error('Redis error:', err); 
}); 

否則,this code是其中過程開始。

this.emit("error", new Error(message)); 
// "error" events get turned into exceptions if they aren't listened for. If the user handled this error 
// then we should try to reconnect. 
this.connection_gone("error"); 

接下來,.connection_gone()方法在客戶端上運行。發生這種情況時被通知

請注意,您還可以收聽到"reconnecting"事件。

相關問題