问题描述
如果有任何网络问题,我正在尝试处理 redis
重试连接。看起来它正在工作,但我不确定,因为有时我会收到 ECONNRESET
。
redisOptions: {
sentinels: [
{ host: process.env.redis_server_1,port: process.env.redis_port_1 },{ host: process.env.redis_server_2,port: process.env.redis_port_2 },{ host: process.env.redis_server_3,port: process.env.redis_port_3 },],name: 'mymaster'
},
function updateConfigurations(){
console.log(configuration.redisOptions);
configuration.redisOptions.sentinelRetryStrategy = (times) => {
console.log('Trying to connect to Redis ',times);
return Math.min(times * 100,10000);
}
// configuration.redisOptions.retryStrategy = (times) => Math.min(times * 50,2000);
}
我正在通过断开与 VPN 的连接来对此进行测试。我与 VPN 断开连接的那一刻,控制台上会打印以下错误消息。
[ioredis] Unhandled error event: Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
然后在日志下面重试连接
[ioredis] Unhandled error event: Error: All sentinels are unreachable. retrying from scratch after 400ms. Last error: Connection is closed.
这是处理重试连接的正确方法吗?我应该如何处理 ECONNRESET
?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)