目标计算机积极拒绝:你的程序(比如 redis-cli 或你的应用)已经成功找到了 127.0.0.1 这台计算机(就是本机),也找到了 6379 这个端口,但是当它尝试在这个端口上建立连接时,对方(也就是操作系统的网络栈)直接说:“不,这个端口上没有程序在监听

用大白话比喻:

  • 你打电话给一个号码(127.0.0.1:6379)。

  • 号码是对的,电话线也通(网络可达)。

  • 但电话那头提示:“您拨打的号码暂时无人接听,请稍后再拨。”

  • 在 Redis 的场景里,这意味着 没有 Redis 服务在 6379 端口上等待连接

所以,问题的根源只有一个:Redis 服务器没有在后台运行,或者运行了但没有正确绑定到 127.0.0.1:6379

二、如何验证 Redis 是否真的在监听 6379?

打开一个 新的 PowerShell 窗口(不用管理员),执行:

powershell

netstat -an | findstr :6379
  • 如果看到类似这样的输出

    text

    TCP    0.0.0.0:6379    0.0.0.0:0    LISTENING
    TCP    [::]:6379       [::]:0       LISTENING

    netstat 显示 6379 端口处于 LISTENING 状态,只能证明 有一个程序 在监听这个端口

  • netstat -ano | findstr :6379 拿到 PID,然后用 tasklist | findstr PID 看进程名。

  • 如果是Redis 正在监听。如果这时你的程序还报“积极拒绝”,可能是防火墙拦截了本地回环(极少见),或者你的程序连接的是别的 IP(比如 localhost 有时候会被解析成 IPv6 问题)。

  • 如果不是Redis正在监听。掐断它:taskkill /f /pid ***

  • 如果没有任何输出:说明端口上没有服务在监听 —— 那你需要重新启动 Redis 并保持窗口开着


三、正确的临时测试方法

  1. 打开一个 PowerShell 窗口,不要关闭
    进入 Redis 目录,执行:

    powershell

    .\redis-server.exe .\redis.windows.conf

    你会看到日志,最后一行大概是 * Ready to accept connections

  2. 保持这个窗口开着,再打开第二个 PowerShell 窗口(用来连接测试)
    在第二个窗口进入 Redis 目录,执行:

    powershell

    .\redis-cli.exe -h 127.0.0.1 -p 6379 ping

    应该返回 PONG。这就代表连接成功,完全没有“积极拒绝”了。

  3. 如果你关掉第一个窗口,再在第二个窗口里执行 ping,就会立刻出现你看到的那个“目标计算机积极拒绝”错误。这正好印证了原因。


五、长期解决办法:安装为 Windows 服务

为了不让 Redis 因为关掉窗口而停止,你应该把 Redis 安装成 Windows 后台服务,这样开机自启,永远在后台运行。

以管理员身份打开 PowerShell,然后:

powershell

cd "C:\Users\86156\Downloads\...\Redis-x64-5.0.14.1"   # 替换成你实际的路径
.\redis-server.exe --service-install .\redis.windows.conf
.\redis-server.exe --service-start

之后,你可以在“服务”管理器(services.msc)里看到 Redis 服务,设置为“自动”即可。

安装服务成功后,即使你关闭所有 PowerShell 窗口,Redis 依然在后台运行127.0.0.1:6379 永远可以连接,再也不会出现“积极拒绝”。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐