Redis 知识库 — 批次1 实施计划
目标:完成 Redis 地基建设 —— 存储模型、网络模型、数据结构的底层实现 覆盖板块:01-Redis基础与架构 + 02-核心数据结构 笔记总数:11 篇(2 索引 + 9 深度笔记)
一、核心链路
内存存储模型 → 单线程事件循环 → 数据结构底层实现
↑ ↑
网络请求 RESP 协议——→ 命令解析——→ 对应结构操作二、执行顺序
板块 1 执行顺序:
00-Redis基础与架构索引.md → 01.1-设计哲学 → 01.2-单线程IO → 01.3-RESP协议
板块 2 执行顺序:
00-核心数据结构索引.md → 02.1-SDS → 02.2-Quicklist → 02.3-Hash
→ 02.4-Set → 02.5-ZSet → 02.6-Stream → 02.7-高级数据结构三、板块 1 内容大纲:Redis 基础与架构
| 笔记名 | 核心原理 | 关键图解 | 难点 |
|---|---|---|---|
| 01.1-Redis设计哲学与适用场景 | 内存计算 VS 磁盘计算的根本差异、Redis 为什么快 | 数据库选型对比图 | 理解场景边界 |
| 01.2-单线程模型与IO多路复用 | epoll 的事件驱动、单线程为什么快 | 事件循环架构图 + epoll 原理 | 多线程误区辨析 |
| 01.3-RESP协议与通信模型 | 请求-响应协议、协议类型、批量操作 | RESP 协议解析流程图 | 协议理解 |
板块 2 内容大纲:核心数据结构
| 笔记名 | 核心原理 | 关键图解 | 难点 |
|---|---|---|---|
| 02.1-String与SDS | SDS 结构、预分配策略、二进制安全 | SDS 内存布局图 | C 字符串问题对比 |
| 02.2-List与Quicklist | quicklist = ziplist + linkedlist | quicklist 结构图 | 编码转换条件 |
| 02.3-Hash底层实现 | ziplist vs hashtable 选择 | 渐进式 rehash 流程 | rehash 过程理解 |
| 02.4-Set底层实现 | intset vs hashtable | 整数集合升级图 | 集合操作复杂度 |
| 02.5-ZSet与SkipList | skiplist + dict 双重结构 | 跳表搜索路径图 | 为什么用跳表 |
| 02.6-Stream消息队列 | 基数树 + 消费组模型 | Stream 消息流图 | 消费组机制 |
| 02.7-高级数据结构 | BitMap/HyperLogLog/GEO | 三种结构的空间对比 | 精度与原理 |
四、验证标准(批次 1)
- [ ] 所有 11 篇笔记的
[[wikilink]]指向已存在的文件 - [ ] 每篇深度笔记至少 1 张 ASCII 图
- [ ] 每篇深度笔记末尾有回链
- [ ] 所有代码块标注语言类型
- [ ] 所有笔记 Frontmatter 完整
- [ ] 每篇深度笔记有实战验证(redis-cli 命令)
- [ ] 每篇深度笔记有面试 Q&A 表格
- [ ] 板块 1 ↔ 板块 2 之间的跨板块引用建立
📚 相关链接
- **总纲设计文档**
- **KB Master 方法论**