有时我的node-redis客户端需要很长时间才能初始连接到redis服务器。
我在这里记录.on('错误'),. on('end'),. on('connect')和.on('ready')事件:
Redis: storage#0 <localhost:6381> end
Redis: error storage#0 <localhost:6381> [Error: Redis connection to localhost:6381 failed - getaddrinfo ENOTFOUND]
/*... much of same errors, sometimes up to 5minutes ...*/
Redis: error storage#0 <localhost:6381> [Error: Redis connection to localhost:6381 failed - getaddrinfo ENOTFOUND]
Redis: storage#0 <localhost:6381> connect
Redis: storage#0 <localhost:6381> ready
虽然它发生了,我通常可以使用redis-cli连接到redis-server。
有人对此有什么想法吗?
答案 0 :(得分:2)
错误&#34; [错误:Redis连接到localhost:6381失败 - getaddrinfo ENOTFOUND]&#34;似乎指向地址解析问题。
因此,一个简单的提议是使用127.0.0.1而不是localhost来绕过对getaddrinfo的调用,以及可能失败的相关DNS查询。
127.0.0.1的结果略有不同:仍然是错误,但消息现在是ECONNREFUSED,这意味着远程Redis服务器可能没有监听提供的端口 - 或者连接超时设置得太低。