Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/a7bari/codecrafters-redis-go

Build Your Own Redis 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: Command Handling, RDB Persistence, Replication, Streams, and Transactions
https://github.com/a7bari/codecrafters-redis-go

codecrafters golang redis replication streams system-programming transactions

Last synced: 6 days ago
JSON representation

Build Your Own Redis 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: Command Handling, RDB Persistence, Replication, Streams, and Transactions

Awesome Lists containing this project

README

        

# Build Your Own Redis

This is my implementation of the ["Build Your Own Redis" ](https://codecrafters.io/challenges/redis) challenge from Codecrafters. I've built a Redis-compatible server using Go, covering the following key features:

## Command Handling
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.

## RDB Persistence
Added support for reading and writing Redis' RDB (Redis Database) files, allowing data to persist across server restarts.

## Replication
Implemented a basic replication mechanism, where a Redis server can function as a replica, replicating data from a master server.

## Streams
Included support for Redis Streams, a data structure that enables advanced message queue and event streaming functionality.

## Transactions
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!