You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用RedisJSON存储会话数据时遇socket.gaierror错误求助

解决Redis JSON连接失败(getaddrinfo failed)的方案

核心错误为 redis.exceptions.ConnectionError: Error 11001 connecting to AWS:15177. getaddrinfo failed,本质是程序无法解析Redis主机地址或网络无法连通目标服务,以下是针对性排查和解决步骤:

  • 修正Redis主机地址配置
    你当前配置的主机名"AWS"并非有效可解析域名或IP地址:

    • 若使用AWS ElastiCache Redis,需替换为控制台提供的完整主节点端点(格式类似 xxxxxx.xxxxxx.xxxxxx.cache.amazonaws.com);
    • 若为本地Redis,直接使用 127.0.0.1 或 localhost。
  • 验证端口有效性
    Redis默认端口为6379,你使用的15177需做确认:

    • 云服务Redis:查看控制台端口配置,确认是否确实使用15177;
    • 本地Redis:检查redis.conf中的port参数,确保与程序配置一致。
  • 测试网络连通性
    在运行程序的机器上执行以下命令排查:

    1. 测试地址解析:
      ping 你的Redis主机地址
      
      若无法解析,排查本地DNS配置或更换IP地址直接连接。
    2. 测试端口开放情况:
      telnet 你的Redis主机地址 端口号
      # 或使用nc命令
      nc -zv 你的Redis主机地址 端口号
      
      若连接失败,进一步排查:
      • 云服务安全组/防火墙是否允许当前机器IP访问Redis端口;
      • 本地机器防火墙是否放行目标端口;
      • 内网/VPN环境下,确认网络路由可达Redis服务。
  • 检查Redis客户端配置
    确保ReJSON客户端初始化参数准确,示例如下:

    from rejson import Client, Path
    
    # AWS ElastiCache配置示例
    json_client = Client(
        host='xxxxxx.xxxxxx.xxxxxx.cache.amazonaws.com',
        port=6379,
        decode_responses=True
    )
    
  • 确认Redis服务状态

    • 本地Redis:执行redis-cli ping,返回PONG则说明服务正常运行;
    • 云服务Redis:查看控制台实例状态是否为"可用"。

内容的提问来源于stack exchange,提问作者Dan ndongi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 02:36:31