• redis报错 Error getaddrinfo ENOTFOUND


    好吧好吧,这个报错即常见也不常见,算是一个低级问题。

    前情提要


    今天我有一个需求,需要给线上正式环境数据进行一次重传,而且需要微调一下数据。
    所以,我决定,在本地运行程序,链接线上正式环境数据库和redis,去获取一些数据。

    接下来,问题来了,正式redis配置放到本地环境后,redis无法链接了。

    说明


    • 环境:node+ioredis
    • 现象:redis连接错误,报错Error: getaddrinfo ENOTFOUND {host}
    • 分析:根据报错信息可知,当前redis连接地址不存在;
    • 问题:这个redis地址是从正式环境配置拷贝过来的,可以确定的是连接地址是有效的,但是现在在本地就是连接不上去;
    • 图片

    报错信息:

    Redis: Fail
    Error: getaddrinfo ENOTFOUND 
    
    • 1
    • 2

    在这里插入图片描述

    解决方案:


    • 1.查看自己的连接地址有没有少拷贝字符;
    • 2.查一下这个链接地址是不是公网地址,我出现这个问题,是因为,地址是内网地址。如果是内网地址,需要自己修改为公网地址,即可使用!

    思考


    其实,这个问题不是很难。单看报错提示就可以明白,肯定是redis配置有问题,但是问题在哪里是需要确定的。

    由下图可知,配置参数没几个,所以问题很容易定位。

    • 首先,先对比这几个参数,看是否拷贝错误了。
    • 是否没有挂vpn(公司有局域网测试环境),由于redis链接地址是正式环境的,是阿里云的,所以,这个直接pass;
    • 最后查看这个redis链接地址是不是公网地址,这里有一个很傻的技巧,阿里云的redis,如果你拿到的公网地址,没有人会不设置密码吧。所以,大胆的看一下开发提交记录,问一下开发者吧。

    在这里插入图片描述

    复道寄语

    还不写注释吗?把孩子逼成啥样了!

  • 相关阅读:
    idea 项目代码打包为jar包详解
    linux系统java环境变量的下载与安装
    IntelliJ IDEA 2023.2正式发布,新UI和Profiler转正
    EMT4J——让 Java 应用升级更轻松
    CentOS上升级glibc2.17至glibc2.31
    C#代码实现坐标转换方法
    NLP 使用Word2vec实现文本分类
    【Android】字节码插桩技术实现卡顿监控
    详解JS遍历对象的五种方法
    【问一问】消息队列
  • 原文地址:https://blog.csdn.net/Long861774/article/details/126719188