这门课解决什么问题

很多技术学习者只会调用现成组件,却不清楚键值存储的底层运转逻辑。这门课带你从零实现一个 KV 存储系统,直面内存与磁盘的交互、文件读写流程、原子写与数据清理等核心痛点,把黑盒变成白盒,打通从设计到落地的认知壁垒。市面上不缺概念科普,缺的是把每一行代码背后的选择讲透的实战课。

适合什么基础

不适合零基础,需要具备扎实的编程基础,特别是对 Go 或 Rust 语言有一定了解。需要掌握基础的数据结构、并发编程概念以及文件系统的工作原理。如果你只写过 CRUD 接口,跳过这门课依然能写出可用的应用,但写不出存储内核。能看懂并发原语、理解文件布局是这门课的基本门槛,达不到就别硬啃。

建议先看哪几块

建议按学习顺序推进:先搭建环境,再理解内存与磁盘的底层设计;接着打通数据读写的主流程,然后深入数据文件逻辑与数据库启动流程;最后攻克原子写、数据清理和内存索引优化。前两块决定能不能跑通,后两块决定能不能扛住高并发。理论编码分开看,理论讲为什么,编码看怎么做,别混在一起。

学完能独立做什么

学完能独立设计并实现一个具备持久化、并发原子写入、数据清理和内存索引优化的 KV 存储内核。面对面试中关于存储引擎设计、文件布局、一致性保障的追问,不再只能背概念,而是能讲清楚每一步为什么这么做。这是从调用者到设计者的关键一步。

资料怎么配合练习

视频按编码理论和编码实操拆分,配合配套练习。看理论时跟着思路走,看编码部分时动手敲代码而非只看。练习题直接对应代码模块,做完能立刻验证理解是否到位,缺什么补什么,别假装什么都会。遇到卡点先自己排查,实在解决不了再回看,带着问题学效率最高。

课程目录

视频
|   ├──03 从零实现 KV 存储—环境搭建 - 飞书云文档.E37.mp4  12.06M
|   ├──04 从零实现 KV 存储—内存和磁盘设计 - 飞书云文档.E05.mp4  6.53G
|   ├──06 从零实现 KV 存储—数据库启动流程 - 飞书云文档.E45.mp4  7.97G
|   ├──07 从零实现 KV 存储—数据删除流程 - 飞书云文档.E21.mp4  33.90M
|   ├──08 从零实现 KV 存储—数据文件逻辑 - 飞书云文档.E14.mp4  7.34G
|   ├──0‬⁤⁣‍​​‍‍⁣⁣​⁢⁤‌​​⁣‬​⁡‌⁢⁡⁤‬⁤⁤⁡⁡⁡⁣‍⁤⁢‌‌⁤​​⁡‬⁢‌⁢5 从零实现 KV 存储—数据读写流程 - 飞书云文档.E38.mp4  165.84M
|   ├──10 从零实现 KV 存储—Close、Sync、迭代器 - 飞书云文档-rust.E39.mp4  5.81G
|   ├──11 从零实现 KV 存储—WriteBatch 原子写 - 飞书云文档-go编码部分.E26.mp4  129.48M
|   ├──11 从零实现 KV 存储—WriteBatch 原子写 - 飞书云文档-理论讲解.E36.mp4  60.19M
|   ├──12 从零实现 KV 存储—Merge 数据清理 - 飞书云文档-go编码部分.E07.mp4  143.32M
|   ├──12 从零实现 KV 存储—Merge 数据清理 - 飞书云文档-rust编码部分.E44.mp4  196.87M
|   ├──12 从零实现 KV 存储—Merge 数据清理 - 飞书云文档-理论讲解.E33.mp4  28.23M
|   ├──13 从零实现 KV 存储—内存索引优化 - 飞书云文档-go编码.E11.mp4  206.45M
|   ├──13 从零实现 KV 存储—内存索引优化 - 飞书云文档-rust编码.E32.mp4  3.07G
|   ├──13 从零实现 KV 存储—内存索引优化 - 飞书云文档-理论讲解.E06.mp4  37.40M
|   ├──14 从零实现 KV 存储—文件 IO 优化 - 飞书云文档-go编码.E13.mp4  104.92M
|   ├──14 从零实现 KV 存储—文件 IO 优化 - 飞书云文档-rust编码.E24.mp4  145.03M
|   ├──14 从零实现 KV 存储—文件 IO 优化 - 飞书云文档-理论讲解.E20.mp4  21.49M
|   ├──16 从零实现 KV 存储—数据备份 - 飞书云文档-go编码.E23.mp4  20.95M
|   ├──16 从零实现 KV 存储—数据备份 - 飞书云文档-理论讲解.E12.mp4  5.45M
|   ├──17 从零实现 KV 存储—HTTP 接口 - 飞书云文档-go编码.E10.mp4  38.91M
|   ├──17 从零实现 KV 存储—HTTP 接口 - 飞书云文档-rust编码.E03.mp4  62.29M
|   ├──17 从零实现 KV 存储—HTTP 接口 - 飞书云文档-理论讲解.E41.mp4  10.58M
|   ├──18 从零实现 KV 存储—基准测试 - 飞书云文档-go编码.E15.mp4  26.50M
|   ├──18 从零实现 KV 存储—基准测试 - 飞书云文档-rust编码.E09.mp4  50.12M
|   ├──18 从零实现 KV 存储—基准测试 - 飞书云文档-理论讲解.E22.mp4  18.10M
|   ├──21 从零实现 KV 存储—Hash 结构支持 - 飞书云文档-go编码.E08.mp4  100.60M
|   ├──21 从零实现 KV 存储—Hash 结构支持 - 飞书云文档-rust编码.E19.mp4  104.47M
|   ├──21 从零实现 KV 存储—Hash 结构支持 - 飞书云文档-理论讲解.E04.mp4  12.05M
|   ├──‍⁡‌​‍​‍⁤​​​‍⁡‌‌⁣⁣⁣​​​⁤​⁢​‍‌​⁣​⁡​‍⁣‌‍⁡‌⁡⁢​‌​​15 数据 Merge 优化-rust编码.E30.mp4  330.84M
|   ├──⁡​⁢‌‬​⁢‌⁤‬​⁣‌‍⁡​​⁤​​​⁡‌⁢‌⁡‍⁤‌⁢​​‍⁡⁤‬‌‌‌‍‌⁣⁢‬⁡⁢‍23 从零实现 KV 存储—List 结构支持 - 飞书云文档.E31.mp4  10.23M
|   ├──⁡​⁢‌‬​⁢‌⁤‬​⁣‌‍⁡​​⁤​​​⁡‌⁢‌⁡‍⁤‌⁢​​‍⁡⁤‬‌‌‌‍‌⁣⁢‬⁡⁢‍23 从零实现 KV 存储—List 结构支持 - 飞书云文档_go编码.E29.mp4  46.91M
|   ├──⁡​⁢‌‬​⁢‌⁤‬​⁣‌‍⁡​​⁤​​​⁡‌⁢‌⁡‍⁤‌⁢​​‍⁡⁤‬‌‌‌‍‌⁣⁢‬⁡⁢‍23 从零实现 KV 存储—List 结构支持 - 飞书云文档_rust编码.E27.mp4  49.07M
|   ├──‬⁣⁣⁣​‍⁢⁤​‌⁢‌⁡‬​‬⁢⁢​⁣‬⁡​​‍⁤‌⁡⁤⁤⁢⁢​⁢‌⁤⁤⁣​⁡⁤‌⁤⁤​11 从零实现 KV 存储—WriteBatch 原子写 - 飞书云文档-rust.mp4  7.77G
|   ├──‬⁢‍‍​‬​⁢​⁤‬‍⁡⁡‌​⁤⁡‌​⁢⁡​​​​‍⁤‍⁤‍⁡‍⁡⁤‬‌⁣‌​‬‍​‬​‌19 从零实现 KV 存储—Redis 数据结构设计 - 飞书云文档.E35.mp4  49.64M
|   ├──‍‌‌⁢⁤​​⁢‬⁤‍‍​⁤​⁣​⁤⁢‬​‍‌⁢⁡‌⁤⁤⁡‍‬‍⁣​​​‬‬‬⁡‌‬‬09 从零实现 KV 存储—LogRecord 编解码 - 飞书云文档.E43.mp4  5.96G
|   ├──‍‍‌⁡⁢​⁢⁡⁣‍⁢‍​‌⁡⁤⁢‬⁢​​⁢⁡‬‬​‍⁢‌⁤​⁢‌⁤‬​⁡​​‬⁢‬​⁣10 从零实现 KV 存储—Close、Sync、迭代器 - 飞书云文档.E42.mp4  7.90G
|   ├──‍‬⁡‌​‍​‍⁤​​​‍⁡‌‌⁣⁣⁣​​​⁤​‬⁢​‍‌​⁣​⁡​‍⁣‌‍⁡‌⁡⁢​‌​​15 从零实现 KV 存储—数据 Merge 优化 - 飞书云文档-go编码.E01.mp4  127.34M
|   ├──‍‬⁡‌​‍​‍⁤​​​‍⁡‌‌⁣⁣⁣​​​⁤​‬⁢​‍‌​⁣​⁡​‍⁣‌‍⁡‌⁡⁢​‌​​15 从零实现 KV 存储—数据 Merge 优化 - 飞书云文档-理论讲解.E18.mp4  18.43M
|   ├──‍‌​⁢‍⁢​​⁢‬‌‌⁤⁡‬⁢‌​‬⁤⁡⁢‬‌‌⁡‍⁡⁣‌⁡⁣‬‌⁤⁢⁣‍​⁣⁤​​‍‍⁡⁡16 从零实现 KV 存储—数据备份 - 飞书云文档-rust编码.E02.mp4  23.67M
|   ├──‍‌⁤​​⁡‬⁣‍⁢​‬​‍⁢⁢⁣‌‍​​‍​⁤​‬⁡⁡‍⁢⁢​⁡‬⁤⁣⁤​​‍​‍⁢⁡‍⁣‍20 从零实现 KV 存储—String 结构支持 - 飞书云文档-go编码.E17.mp4  44.97M
|   ├──‍‌⁤​​⁡‬⁣‍⁢​‬​‍⁢⁢⁣‌‍​​‍​⁤​‬⁡⁡‍⁢⁢​⁡‬⁤⁣⁤​​‍​‍⁢⁡‍⁣‍20 从零实现 KV 存储—String 结构支持 - 飞书云文档-rust编码.E25.mp4  64.06M
|   ├──‍‌⁤​​⁡‬⁣‍⁢​‬​‍⁢⁢⁣‌‍​​‍​⁤​‬⁡⁡‍⁢⁢​⁡‬⁤⁣⁤​​‍​‍⁢⁡‍⁣‍20 从零实现 KV 存储—String 结构支持 - 飞书云文档-理论讲解.E46.mp4  12.02M
|   ├──‍⁢‬‍‌‬⁤​​⁢​‌​‍⁡⁡​‌​‍‬‬‌⁤‍‌⁤‬​⁤⁡⁢​​⁣⁡‌⁢‌⁣​‬⁢⁣​‌⁡⁣22 从零实现 KV 存储—Set 结构支持 - 飞书云文档-go编码.E34.mp4  46.46M
|   ├──‍⁢‬‍‌‬⁤​​⁢​‌​‍⁡⁡​‌​‍‬‬‌⁤‍‌⁤‬​⁤⁡⁢​​⁣⁡‌⁢‌⁣​‬⁢⁣​‌⁡⁣22 从零实现 KV 存储—Set 结构支持 - 飞书云文档-rust编码.E40.mp4  52.33M
|   └──‍⁢‬‍‌‬⁤​​⁢​‌​‍⁡⁡​‌​‍‬‬‌⁤‍‌⁤‬​⁤⁡⁢​​⁣⁡‌⁢‌⁣​‬⁢⁣​‌⁡⁣22 从零实现 KV 存储—Set 结构支持 - 飞书云文档-理论讲解.E16.mp4  10.73M
文档
|   ├──03-搭建环境.pdf  1.58M
|   ├──04-内存和磁盘设计.pdf  2.20M
|   ├──05-数据读写流程.pdf  2.22M
|   ├──06-数据库启动流程.pdf  2.20M
|   ├──07-数据删除流程.pdf  1.77M
|   ├──08-数据文件逻辑.pdf  2.74M
|   ├──09-LogRecord编码.pdf  3.99M
|   ├──10-close,sync,迭代器.pdf  2.05M
|   ├──11-writeBatch原子写.pdf  3.98M
|   ├──12-merge数据清理.pdf  2.05M
|   ├──13-内存索引优化.pdf  2.68M
|   ├──14-文件IO优化.pdf  2.17M
|   ├──15-数据merge优化.pdf  5.28M
|   ├──16-数据备份.pdf  1.09M
|   ├──17-HTTP接口.pdf  1.34M
|   ├──18-基准测试.pdf  1.08M
|   ├──19-redis数据结构支持.pdf  2.74M
|   ├──20-string结构支持.pdf  1.20M
|   ├──21-hash结构支持.pdf  1.24M
|   ├──22-set结构支持.pdf  1.03M
|   ├──23-List结构支持.pdf  1.10M
|   ├──24-Sorted Set支持.pdf  1.11M
|   ├──25-兼容redis协议.pdf  1.41M
|   └──26-加餐学习汇总.pdf  671.99kb
kv-projects.exe  1.83M
——/从零实现KV存储/├──视频  |   ├──03 从零实现 KV 存储—环境搭建 - 飞书云文档.E37.mp4  12.06M|   ├──04 从零实现 KV 存储—内存和磁盘设计 - 飞书 rk0869-从零实现KV存储【VIP】 ,瑞客论坛