Learn network programming and data structures by building a Redis-like server from scratch with C/C++.
- Why build Redis? The knowledge required is broader and deeper than usual application-level development. It's a good way to level up your skills (mainly network programming and data structures).
- Why from scratch? A quote from Richard Feynman: “What I cannot create, I do not understand”. Human understandings are filled with holes aka “things I don't know I don't know”. Building from scratch is a way to ensure your understanding is complete.
- Why C? C is widely used in system programming and infrastructure software. Learn how C is used in real projects, with straightforward C code. No prior C/C++ experience is required.
- Why a book? The Redis project is a complex software system built with lots of effort, which can be harder to grasp for beginners. The book breaks down the core concepts into easy-to-digest steps.