Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/a7bari/codecrafters-redis-go
- Owner: A7bari
- Created: 2024-11-06T17:03:15.000Z (9 days ago)
- Default Branch: master
- Last Pushed: 2024-11-06T17:17:00.000Z (9 days ago)
- Last Synced: 2024-11-06T18:26:23.495Z (9 days ago)
- Topics: codecrafters, golang, redis, replication, streams, system-programming, transactions
- Language: Go
- Homepage:
- Size: 123 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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!