Redis——快速入门第六课:Redis 运维 & 排错实战

文章目录

  • [第 6 课:Redis 运维 & 排错实战](#第 6 课:Redis 运维 & 排错实战)
    • 一、排查总原则(先记住)
    • [二、场景 1:Redis 连不上(最常见)](#二、场景 1:Redis 连不上(最常见))
      • [① 先确认 Redis 服务是否在跑](#① 先确认 Redis 服务是否在跑)
      • [② 再看端口有没有监听(最关键)](#② 再看端口有没有监听(最关键))
      • [③ 用 redis-cli 直连测试](#③ 用 redis-cli 直连测试)
      • [④ 看应用连的地址对不对](#④ 看应用连的地址对不对)
    • [三、场景 2:systemctl 显示没启动,但 Redis 却能用](#三、场景 2:systemctl 显示没启动,但 Redis 却能用)
    • [四、场景 3:6379 端口冲突 / Redis 起不来](#四、场景 3:6379 端口冲突 / Redis 起不来)
    • [五、场景 4:Redis 内存突然暴涨](#五、场景 4:Redis 内存突然暴涨)
      • [① 先看 Redis 用了多少内存](#① 先看 Redis 用了多少内存)
      • [② 看 key 数量(危险信号)](#② 看 key 数量(危险信号))
      • [③ 排查"大 key / 热 key"(基础版)](#③ 排查“大 key / 热 key”(基础版))
    • [六、场景 5:Redis 数据"没了"(新手最慌)](#六、场景 5:Redis 数据“没了”(新手最慌))
      • 先别慌,先判断是哪种"没了"
        • [情况 1️⃣ key 过期了(最常见)](#情况 1️⃣ key 过期了(最常见))
        • [情况 2️⃣ Redis 重启了(数据没持久化)](#情况 2️⃣ Redis 重启了(数据没持久化))
        • [情况 3️⃣ 用的是 Docker,没挂载数据目录](#情况 3️⃣ 用的是 Docker,没挂载数据目录)
    • [七、场景 6:本地 Redis / Docker Redis 混乱(高频)](#七、场景 6:本地 Redis / Docker Redis 混乱(高频))
      • [你一定要搞清楚这 3 件事](#你一定要搞清楚这 3 件事)
    • [八、Redis 运维"黄金 10 命令"(直接背)](#八、Redis 运维“黄金 10 命令”(直接背))
    • [九、Redis 运维排错 Checklist(照着走)](#九、Redis 运维排错 Checklist(照着走))
    • 十、一句话总结(非常重要)

第 6 课:Redis 运维 & 排错实战

目标:
Redis 连不上、端口冲突、Docker/本地混乱、内存异常,都能自己定位


一、排查总原则(先记住)

Redis 出问题,永远按这 4 步走:
服务 → 进程 → 端口 → 连接

顺序不要乱。


二、场景 1:Redis 连不上(最常见)

① 先确认 Redis 服务是否在跑

bash 复制代码
ps -ef | grep redis | grep -v grep
  • ❌ 没有输出 → Redis 没启动
  • ✅ 有 redis-server → 继续

② 再看端口有没有监听(最关键)

bash 复制代码
ss -lntp | grep 6379

常见情况:

  • redis-server → 本地 Redis
  • docker-proxy → Docker Redis
  • ❌ 没输出 → 端口没起来

③ 用 redis-cli 直连测试

bash 复制代码
redis-cli ping
  • PONG → Redis 正常
  • Could not connect → 配置/网络问题

④ 看应用连的地址对不对

Spring Boot 里常见错误:

yaml 复制代码
spring:
  redis:
    host: 127.0.0.1   # 但 Redis 在 Docker 里没映射

👉 Docker Redis 必须 -p 6379:6379


三、场景 2:systemctl 显示没启动,但 Redis 却能用

这是你之前已经遇到过的典型问题

表现

bash 复制代码
systemctl status redis
# inactive

但:

bash 复制代码
redis-cli ping
# PONG

真相(99%)

Docker 里的 Redis 在跑,本地 Redis 已经停了

验证

bash 复制代码
docker ps | grep redis
ss -lntp | grep 6379

看到 docker-proxy 就对了。


四、场景 3:6379 端口冲突 / Redis 起不来

表现

  • Docker Redis 启动失败
  • 提示端口占用

排查步骤

bash 复制代码
ss -lntp | grep 6379

再看进程:

bash 复制代码
ps -ef | grep redis

解决思路(选一个)

  • 方案 A(推荐)
    停本地 Redis → Docker 用 6379
bash 复制代码
systemctl stop redis
systemctl disable redis
  • 方案 B
    Docker Redis 用其他端口
bash 复制代码
-p 6380:6379

五、场景 4:Redis 内存突然暴涨

① 先看 Redis 用了多少内存

bash 复制代码
redis-cli info memory

重点看:

text 复制代码
used_memory_human:1.23G

② 看 key 数量(危险信号)

bash 复制代码
redis-cli dbsize

key 特别多,说明:

  • key 没过期
  • 或 key 设计有问题

③ 排查"大 key / 热 key"(基础版)

bash 复制代码
redis-cli --bigkeys

👉 会告诉你哪些 key 占内存大


六、场景 5:Redis 数据"没了"(新手最慌)

先别慌,先判断是哪种"没了"

情况 1️⃣ key 过期了(最常见)
bash 复制代码
ttl user:1001

返回 -2 → 已不存在


情况 2️⃣ Redis 重启了(数据没持久化)
bash 复制代码
redis-cli info server | grep uptime

uptime 很小 → 刚重启


情况 3️⃣ 用的是 Docker,没挂载数据目录
bash 复制代码
docker inspect redis | grep Mounts -A 5

没看到 /data 映射 → 容器一删数据全没


七、场景 6:本地 Redis / Docker Redis 混乱(高频)

你一定要搞清楚这 3 件事

bash 复制代码
which redis-server
ps -ef | grep redis
ss -lntp | grep 6379

判断规则:

现象 说明
docker-proxy Docker Redis
redis-server 本地 Redis
两个都有 混乱(必须清理)

八、Redis 运维"黄金 10 命令"(直接背)

bash 复制代码
redis-cli ping
redis-cli info server
redis-cli info memory
redis-cli dbsize
ps -ef | grep redis
ss -lntp | grep 6379
systemctl status redis
docker ps | grep redis
redis-cli config get dir
redis-cli --bigkeys

👉 90% 问题都靠它们解决


九、Redis 运维排错 Checklist(照着走)

  1. Redis 服务在不在?
  2. 6379 有没有监听?
  3. 是本地还是 Docker?
  4. 应用连的 IP/端口对不对?
  5. Redis 有没有刚重启?
  6. 数据有没有过期?
  7. 有没有挂载数据目录?

十、一句话总结(非常重要)

Redis 排错的核心是:
看进程 → 看端口 → 看连接 → 看数据

只要你不跳步,Redis 很难把你"坑死"。

相关推荐
2601_960567961 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧2 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
HiDev_3 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
赵丙双3 小时前
Redis 概率相关的数据类型
redis
Zhang~Ling4 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森4 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客4 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝4 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
AOwhisky5 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客5 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice