繁体   English   中英

如何重新连接redis连接?

[英]How to reconnect redis connection?

我有一个简单的例子:

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

Redis客户端自动重新连接。 只需确保您处理来自客户端的"error"事件。 根据例子

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

否则, 此代码是流程开始的位置。

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"事件,以便在发生这种情况时收到通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM