2012-06-04 19 views
5

Tengo ejemplo sencillo:¿Cómo volver a conectar la conexión 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(); 

Cómo volver a conectar la conexión del servidor Redis después Redis reinicio?

Respuesta

12

El cliente de Redis vuelve a conectarse automáticamente. Solo asegúrese de manejar el evento "error" desde el cliente. Según the example:

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

De lo contrario, this code es donde comienza el proceso.

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"); 

A continuación, el método .connection_gone() se ejecuta en el cliente.

Observe que también puede escuchar un evento "reconnecting" para recibir una notificación cuando esto ocurra.

Cuestiones relacionadas