mini-redis 练手笔记
用一个 Redis 协议子集,把 Rust 的所有权、异步和网络编程串起来。
mini-redis 是很适合 Rust 入门后继续练手的项目。它不大,但能碰到不少真实后端会遇到的问题:
- TCP 连接怎么拆分读写
- 命令协议怎么解析
- 共享状态怎么安全地放进异步任务
- 错误如何向上传递
最有价值的地方
不是最后写出了一个能跑的 Redis,而是中间不断被 Rust 编译器提醒:“这里的所有权关系你真的想清楚了吗?”
这很烦,但也很值。
| 模块 | 练到的东西 |
|---|---|
| parser | 字节流和协议解析 |
| server | Tokio task 和连接生命周期 |
| db | 共享状态与并发访问 |
以后写 Axum 服务时,这些东西都会反复出现。