Redis无法解析地址 - node.js中的redis连接问题

8

你好,我正在尝试使用Node.js连接Redis,这一部分已经成功了。现在我将我的Node.js服务器应用程序托管在Amazon EC2实例上,将Redis托管在Amazon Elastic Cache实例上,连接到Redis是成功的,但偶尔会出现下面提到的错误。

var pub = redis.createClient(6379,'quizredis.qnsdtp.0001.apse1.cache.amazonaws.com'); 


events.js:72
    throw er; // Unhandled 'error' event
          ^       Error: Redis connection to quizredis.qnsdtp.0001.apse1.cache.amazonaws.com:6379 failed - getaddrinfo ENOTFOUND
at RedisClient.on_error (/home/ec2-user/roomChat-7/node_modules/redis/index.js:196:24)
at Socket.<anonymous> (/home/ec2-user/roomChat-7/node_modules/redis/index.js:106:14)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:813:16

我正在使用redis-npm模块;


1
你有收到回应吗?我也遇到了同样的问题。 - CargoMeister
我刚刚遇到了相同的错误。 - Xin
我也遇到了这个问题 - 最终我只是通过IP连接,这样做有它自己的问题,但至少避免了这个问题。 - Nathan Friedly
@saikrishna,你解决了这个问题吗?连接EC2实例时我也遇到了同样的问题。 - Avani Khabiya
saaaaaaaaaaaaaaaaaame - Alberto Sinigaglia
1个回答

0
据我所知,这是一个DNS解析错误。 Elasticache Redis是一个VPC特定的服务。它的DNS记录仅在VPC内可用,并且通常情况下,VPC使用自定义DHCP选项和自定义DNS服务器 - 可能没有这些记录。
检查一些东西 -
  1. 在您的VPC中配置的DNS服务器。 在此处检查。
  2. 检查您的机器上nslookup命令的输出 - 如果您正在使用Linux shell

nslookup quizredis.qnsdtp.0001.apse1.cache.amazonaws.com

干杯!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接