This is my implementation of the "Build Your Own Redis" challenge from Codecrafters. I've built a Redis-compatible server using Go, covering the following key features:
Implemented the basic Redis command protocol to handle common commands like SET
, GET
, DEL
, etc. The server can parse client requests and execute the corresponding operations.
Added support for reading and writing Redis' RDB (Redis Database) files, allowing data to persist across server restarts.
Implemented a basic replication mechanism, where a Redis server can function as a replica, replicating data from a master server.
Included support for Redis Streams, a data structure that enables advanced message queue and event streaming functionality.
Added transaction support, allowing clients to execute multiple commands as an atomic unit, with rollback capabilities.
This project was a great learning experience, diving deep into the inner workings of Redis and building a functional in-memory data store from scratch.
Feel free to explore the code and let me know if you have any questions or feedback!