https://build-your-own.org/redis/ Build Your Own Redis with C/C++ PDF*EPUB*Paperback [?] prev Contents next [?] --------------------------------------------------------------------- [?] New WIP Book: Build Your Own Database Build Your Own Redis with C/C++ Learn network programming and data structures by coding from scratch. James Smith Introduction * 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. Table of Contents Part 1. Getting Started 1. Introduction 2. Introduction to Sockets 3. Hello Server/Client 4. Protocol Parsing 5. The Event Loop and Nonblocking IO 6. The Event Loop Implementation 7. Basic Server: get, set, del Part 2. Essential Topics 8. Data Structure: Hashtables 9. Data Serialization 10. The AVL Tree: Implementation and Testing 11. The AVL Tree and the Sorted Set 12. The Event Loop and Timers 13. The Heap Data Structure and the TTL 14. The Thread Pool and Asynchronous Tasks (The book is complete at this point.) Part 3. Extended Contents (Possible ideas for a future edition, subject to change.) 15. The Quadtree and Geospatial Data 16. Querying and Updating JSON Data 17. The Inverted Index and Full-text Search Appendixes 1. Hints to exercises Source code: https://build-your-own.org/redis/src.tgz. The book is available for purchase. Book Cover See also: codecrafters.io offers "Build Your Own X" courses in many programming languages. Including Redis, Git, SQLite, Docker, and more. Check it out --------------------------------------------------------------------- [?] prev Contents next [?] Subscribe Free Books Twitter Blogs About Home Copyright (c) 2023 James Smith <[email protected]>