Redis 知识体系
按照 操作系统 的章节组织方式编排,与 MySQL 文档 同结构。涵盖 Redis 从入门到精通的完整知识体系。
章节目录
| 章节 |
标题 |
大小 |
主要内容 |
| 01 |
Redis 概述与安装 |
54K |
历史、安装、redis.conf、redis-cli、INFO |
| 02 |
数据结构与底层编码 |
45K |
SDS、listpack、skiplist、dict、渐进式 rehash |
| 03 |
五大基础数据类型 |
49K |
String、Hash、List、Set、ZSet 命令与应用 |
| 04 |
高级数据类型 |
43K |
Bitmap、HyperLogLog、Geospatial、Stream、Bloom Filter |
| 05 |
键管理与通用命令 |
62K |
TTL、过期策略、SCAN、键空间通知 |
| 06 |
持久化 |
42K |
RDB、AOF、混合持久化、MP-AOF |
| 07 |
内存管理与淘汰策略 |
57K |
8 种淘汰策略、LRU/LFU、内存碎片、大 Key |
| 08 |
大 Key 问题 |
41K |
危害、发现、删除、拆分、预防 |
| 09 |
架构模式 |
42K |
单机/主从/哨兵/Cluster 选型与决策 |
| 10 |
主从复制 |
51K |
全量复制、部分复制、repl_backlog |
| 11 |
哨兵 Sentinel |
58K |
故障检测、选主、Raft 选举、自动故障转移 |
| 12 |
Cluster 集群 |
63K |
16384 slot、故障转移、客户端 MOVED/ASK |
| 13 |
事务与 Lua 脚本 |
97K |
MULTI/EXEC、WATCH、Lua 原子性 |
| 14 |
缓存设计与常见问题 |
128K |
雪崩/击穿/穿透、Cache Aside、延迟双删 |
| 15 |
分布式锁 |
80K |
SET NX EX、RedLock、Redisson、看门狗 |
| 16 |
性能调优 |
47K |
慢查询、Pipeline、IO 多线程、benchmark |
| 17 |
安全与监控 |
35K |
ACL、TLS、Prometheus+Grafana、告警规则 |
知识地图
入门 进阶 高级 实战
├─ 01 安装 ├─ 04 高级数据类型 ├─ 10 主从复制 ├─ 14 缓存设计
├─ 02 数据结构 ├─ 06 持久化 ├─ 11 哨兵 ├─ 15 分布式锁
└─ 03 基础类型 ├─ 07 内存管理 ├─ 12 Cluster └─ 17 安全监控
└─ 08 大 Key 问题 ├─ 13 Lua 脚本
└─ 05 键管理 └─ 16 性能调优
└─ 09 架构选型
学习路线建议
初学者 (1-2 周)
- 阅读 01 了解 Redis 是什么、如何安装
- 学习 02 掌握数据结构底层(SDS、dict、skiplist)
- 学习 03 掌握五大基础类型的命令和应用
- 实践 05 键管理与通用命令
进阶者 (2-4 周)
- 学习 04 高级数据类型(Bitmap、Stream、Bloom Filter)
- 深入 06 RDB/AOF 持久化机制
- 掌握 07 内存管理与淘汰策略(面试重点)
- 08 大 Key 问题(生产必学,避免事故)
- 理解 09 架构模式,能根据场景选型
高级者 (4-8 周)
- 深入 10 主从复制原理(replid、offset、backlog)
- 掌握 11 哨兵 Sentinel 故障转移流程
- 学习 12 Redis Cluster 数据分片与客户端感知
- 掌握 13 Lua 脚本实现原子操作
实战方向
- 重点:14 缓存设计(雪崩/击穿/穿透 + Cache Aside + 延迟双删)
- 必备:15 分布式锁(Redisson 看门狗机制)
- 调优:16 性能调优、17 安全与监控
后端开发必读
- 03 五大基础类型 → 用熟
- 05 键管理与过期 → 避免 KEYS 等坑
- 06 持久化 → 理解 RDB/AOF 选型
- 08 大 Key → 避免 DEL 阻塞事故
- 14 缓存设计 → 雪崩击穿穿透
- 15 分布式锁 → 秒杀场景必备
运维 / SRE 必读
- 01 安装、redis.conf
- 06 持久化
- 07 内存管理
- 08 大 Key → 紧急删除与监控
- 09-12 架构(主从/哨兵/Cluster)
- 16 性能调优
- 17 安全与监控
配套工具推荐
| 工具 |
用途 |
链接 |
| RedisInsight |
官方 GUI |
https://redis.io/redis-enterprise/redis-insight/ |
| RedisBloom |
布隆过滤器模块 |
https://github.com/RedisBloom/RedisBloom |
| Redisson |
Java 客户端(分布式锁) |
https://redisson.org |
| Lettuce |
Java 客户端(响应式) |
https://lettuce.io |
| redis-cli |
官方 CLI |
自带 |
| redis_exporter |
Prometheus 监控 |
https://github.com/oliver006/redis_exporter |
| RedisShake |
数据迁移/同步 |
https://github.com/tair-opensource/RedisShake |
| redis-rdb-tools |
RDB 分析、大 Key 发现 |
https://github.com/sripathikrishnan/redis-rdb-tools |
| Codis |
豌豆荚开源分片集群 |
https://github.com/CodisLabs/codis |
版本说明
- 主要面向 Redis 6.x / 7.x
- 部分内容(ACL、TLS、IO 多线程、Function)需要 Redis 6.0+
- Cluster 增强(MP-AOF、自动修复 truncated)需要 Redis 7.0+
Redis 与 MySQL 对照
| 维度 |
Redis |
MySQL |
| 类型 |
KV 缓存/数据库 |
关系数据库 |
| 存储 |
内存 + 磁盘(持久化) |
磁盘 |
| 查询 |
简单 KV、有限命令 |
SQL 完整查询 |
| 事务 |
弱事务 (MULTI/EXEC) |
ACID 完整事务 |
| 索引 |
跳表 + 哈希 |
B+Tree 多种 |
| 集群 |
原生 Cluster |
MHA/MGR/ProxySQL |
| 适用 |
缓存、计数器、分布式锁 |
主业务数据存储 |
贡献
发现错误或想补充内容,直接修改对应章节的 md 文件即可。