2012-06-04 5 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", чтобы получить уведомление, когда это произойдет.

Смежные вопросы