redis Roadmap

Redis 排障专题

Redis 排障专题:聚合连接被拒绝、NOAUTH 认证失败、内存淘汰策略、big key 定位、Docker 网络不通和 protected-mode 远程访问限制等 Redis 运维问题的完整排障路径与命令模板。

Redis 排障先区分 TCP 连接层(进程/端口/bind/防火墙)和认证层(密码/protected-mode),连接被拒绝通常是网络或配置问题而不是密码问题,Docker 中网络模式和端口映射不一致是最常见的连不上原因。

rediscachememoryconnectionbigkeyeviction
排障 / 命令8
精选入口4
工具 / 速查1
最近更新2026-07-12

Troubleshooting Path

推荐排障路线图

提交问题 →
  1. 01

    先确认 Redis 进程和端口

    用 systemctl status redis 或 docker ps 确认进程在运行,用 ss -lntp 确认 6379 端口在监听,区分本机监听和远程监听。

  2. 02

    再检查 bind 和 protected-mode

    redis.conf 的 bind 限制为 127.0.0.1 会拒绝远程连接,protected-mode 开启时无密码远程访问会被拒绝,两者是连接被拒的常见原因。

  3. 03

    继续验证网络路径和认证

    从客户端机器 redis-cli -h <ip> ping 测试连通性,连上后确认 requirepass 密码和 ACL 配置,Docker 中注意 bridge 和 host 网络差异。

  4. 04

    最后排查内存和 big key

    用 info memory 看内存水位,用 redis-cli --bigkeys 找大 key,确认淘汰策略和 TTL 配置是否合理,避免 OOM 或性能抖动。

Before You Change

执行前检查

  • 不要为了远程连接直接 bind 0.0.0.0 同时关掉 protected-mode,这等于裸奔公网
  • Docker 中优先用自定义 bridge 网络让容器用服务名通信,避免端口映射暴露
  • requirepass 密码有特殊字符时 URL 连接串需要 URL 编码
  • 清理 big key 前确认业务归属,用 UNLINK 异步删除避免阻塞

Start Here

优先阅读

Latest Updates

最近更新

All Runbooks

全部相关内容

排障

CI 构建内存不足与进程被杀排查

CI 构建时出现 JavaScript heap out of memory、Killed 或 exit code 137,先区分 Node 堆内存不足与系统 OOM,再调整 NODE_OPTIONS=--max-old-space-size、Runner 内存和并发 job,覆盖 GitHub Actions、GitLab CI 和自建 Runner 场景。

cibuildmemory
排障

CI 缓存失效排查方法

CI 缓存不命中、每次构建都从零安装依赖时,先对比 restore/save 步骤打印的 cache key 是否变化,再检查缓存路径配置、runner OS 前缀和 gh cache list 中的实际条目,常见根因是 key 把易变内容算入或 restore-keys 顺序不对。

ci缓存cache
排障

Linux OOM Killer 与内存不足排查

Linux 进程被 OOM Killer 杀、容器状态 OOMKilled 或 dmesg 出现 Out of memory: Killed process 时,用 dmesg -T 与 journalctl -k 查历史内核日志确认时间和被杀进程,区分宿主机 OOM 与容器 cgroup 限制,再看进程 RSS 增长趋势排查泄漏。

linuxmemoryoom
排障

PostgreSQL connection refused 排查方法

psql 连接 PostgreSQL 报 could not connect to server: Connection refused 时,先确认服务是否 running、5432 是否监听、postgresql.conf 的 listen_addresses 是否绑定到目标 IP,再逐层排查防火墙、安全组和 Docker 端口映射,pg_hba.conf 只影响后续认证。

postgresqldatabaseconnection
排障

Redis 连接不上怎么排查

Redis 客户端报 Could not connect: Connection refused 或 NOAUTH Authentication required 时,先确认 6379 端口是否监听、redis.conf 的 bind 是否限制为 127.0.0.1、protected-mode 是否阻止远程访问,再核对 requirepass 密码和 Docker 端口映射与容器网络。

redisconnectionbind
排障

Redis 内存占用过高与淘汰策略排查

Redis 内存持续上涨、报 OOM command not allowed when used memory > 'maxmemory' 或 evicted_keys 飙升时,先用 INFO memory 看 used_memory/maxmemory,CONFIG GET maxmemory-policy 确认策略是否 noeviction,再用 --bigkeys 找大 key 并检查 TTL 是否缺失。

redismemorybigkeys
命令

Node/Nuxt 构建内存排查命令

Node/Nuxt/Next 构建报 JavaScript heap out of memory 或 exit code 137 时排查内存的常用命令,用 NODE_OPTIONS=--max-old-space-size=4096 扩大 V8 堆,du 查看 .nuxt/.output/.next 构建产物体积,free -h 与 dmesg 判断系统 OOM。

nodenuxtbuild
命令

ps 查看进程和资源占用命令

Linux ps 查看进程静态快照的常用命令,ps aux --sort=-%cpu/-%mem 按 CPU 或内存排序找可疑进程,ps -ef | grep 按名称过滤,ps -o pid,ppid,stat,etime,cmd 查父子进程和状态,pstree -ap 展示进程树,动态观测配合 top/pidstat。

psprocesslinux