如何重新连接redis连接?

时间:2012-06-04 09:54:57

标签: node.js

我有一个简单的例子:

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连接?

1 个答案:

答案 0 :(得分:13)

Redis客户端会自动重新连接。只需确保您从客户端处理"error"事件。根据{{​​3}}:

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

否则,the example是流程开始的地方。

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

接下来,this code方法在客户端上运行。

请注意,您也可以收听"reconnecting"事件,以便在发生这种情况时收到通知。