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

redis-cli verbose模式查询及远程Redis连接故障排查方法

Redis远程连接无响应的排查方案

一、redis-cli可用的调试/信息参数

  • 使用redis-cli -h <host> -p <port> --verbose:该参数会输出连接全流程的详细日志,包括DNS解析、TCP握手、协议交互等环节的状态,能精准定位卡壳阶段。
  • 使用redis-cli -h <host> -p <port> --latency:测试连接延迟数据,若为网络问题导致超时,能直观展示延迟波动;若连接失败,会直接返回超时提示。
  • 使用redis-cli -h <host> -p <port> --test:自动执行PING、SET、GET等基础命令并返回结果,快速验证连接有效性与命令执行权限。
  • 配合超时参数-t:比如redis-cli -h <host> -p <port> -t 5,设置5秒超时阈值,避免长时间等待,超时后会明确返回错误(如连接超时、拒绝连接等)。

二、远程Redis连接排查步骤

1. 先排查网络层面

  • 执行ping <host>:验证目标主机是否可达,若ping不通,优先排查网络路由、主机下线或防火墙拦截问题。
  • 执行telnet <host> <port>:测试目标端口是否开放,若无法连接,大概率是服务器防火墙(iptables/firewalld)拦截了Redis端口,或Redis未监听该端口。
  • 使用nc -zv <host> <port>(需安装netcat):更直观地判断端口状态,成功时会返回“Connection to port [tcp/*] succeeded!”,失败则明确提示拒绝或超时。

2. 检查Redis服务配置

  • 查看redis.conf中的bind参数:若设置为127.0.0.1,Redis仅监听本地回环地址,需改为0.0.0.0或指定允许的IP段。
  • 检查protected-mode参数:默认开启状态下,未设置密码或绑定IP的Redis会拒绝远程连接,需关闭该模式或配置密码、允许IP。
  • 验证Redis服务状态:在目标服务器执行ps aux | grep redis-server确认进程存在,或本地执行redis-cli ping测试服务可用性。

3. 排查认证与权限问题

  • 若Redis设置了密码,连接时需添加-a <password>参数,或连接后执行AUTH <password>,未认证的连接可能表现为无响应(实际处于等待认证状态)。
  • 检查SELinux状态:若目标服务器开启SELinux强制模式,可能拦截Redis网络连接,可临时执行setenforce 0测试,或配置SELinux规则允许Redis端口通信。

4. 排查网络中间设备

  • 跨机房/公网连接时,检查NAT设备、负载均衡器的端口映射是否正确,是否有限流规则导致连接被丢弃。
  • 确认本地网络的代理、防火墙是否拦截了出站到Redis端口的连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 07:07:01