2013-08-20 50 views
1

有时我的node-redis客户端需要很长时间才能初始连接到redis服务器。Node-redis非常长的初始连接

我登录。对( '错误')。对( '端')。对( '连接')和。对( '准备好')事件在这里:

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服务器。

有没有人有关于此的原因的任何想法?

+2

我不知道原因,但你可能想要使用127.0.0.1连接而不是本地主机,所以你避免了一个可能会失败的DNS调用。 –

+0

谢谢,我会尝试 –

+0

:(没有任何改变:'Redis的:错误存储#0 <127.0.0.1:6381> [错误:Redis连接到127.0.0.1:6381失败 - 连接ECONNREFUSED]' –

回答

2

错误“[错误:Redis连接到本地主机:6381失败 - getaddrinfo ENOTFOUND]”似乎指向地址解析问题。

因此,一个简单的提议是使用127.0.0.1而不是localhost绕过对getaddrinfo的调用以及可能失败的关联DNS查询。

127.0.0.1的结果稍有不同:仍然有错误,但是现在的消息是ECONNREFUSED,这意味着远程Redis服务器可能没有监听提供的端口 - 或者连接超时设置得太低。