I built FastKey, a Redis-compatible key-value store written from scratch in C.
It started as a project to understand Redis internals.
It turned into a complete implementation with real-world features.
Key features:
→ Full RESP protocol compatibility (works with redis-cli and Redis clients)
→ Master-slave replication with PSYNC
→ Streams support (XADD, XRANGE, XREAD)
→ Transactions (MULTI / EXEC / DISCARD)
→ Thread-safe concurrent handling with read-write locks
→ RDB persistence format
→ 256 tests with 100% pass rate
The focus was on memory safety, proper cleanup, and thread safety.
The code is clean C with a modular architecture so you can actually follow how things work.
This could be useful as:
→ A learning resource for anyone curious about Redis internals
→ A lightweight alternative when you need Redis compatibility without the full Redis overhead
I would love feedback on the architecture, threading model, and implementation details.
It started as a project to understand Redis internals.
It turned into a complete implementation with real-world features.
Key features: → Full RESP protocol compatibility (works with redis-cli and Redis clients) → Master-slave replication with PSYNC → Streams support (XADD, XRANGE, XREAD) → Transactions (MULTI / EXEC / DISCARD) → Thread-safe concurrent handling with read-write locks → RDB persistence format → 256 tests with 100% pass rate
The focus was on memory safety, proper cleanup, and thread safety. The code is clean C with a modular architecture so you can actually follow how things work.
This could be useful as: → A learning resource for anyone curious about Redis internals → A lightweight alternative when you need Redis compatibility without the full Redis overhead
I would love feedback on the architecture, threading model, and implementation details.