Building your own Redis server is a great way to level up as a Software Engineer.
It teaches you about:
- Redis - it helps to know what you're building.
- Reading a specification - to understand what Redis does.
- Network programming - you're building a server and handling concurrent clients and a network protocol.
- Async IO
- Data Structures - Hash Tables and Skip Lists for example.
- Algorithms - for example for expiry.
There's a couple of ways you can approach it too:
- Fork the Redis source code and play with it.
- Take the Coding Challenges Build Your Own Redis Coding Challenge.
- Sign up for the guided course I run where I'll guide you through building a lite Redis Clone in Python.
- Sign up for the Cohort based course I run: Become a Better Software Developer by Building Your Own Redis Server and build using the programming language of your choice.