A fast storage system you can talk to
This project lets any program store a piece of data under a label and retrieve it later at very high speed. Think of it like a dictionary that lives in memory and can handle hundreds of users reading and writing at the same time without any errors or slowdowns.
The most well known tool that does this is called Redis. It is used by GitHub, Twitter, Snapchat, and most major tech companies. This project reimplements its core ideas from the ground up without using any external libraries.
Stores data instantly
You can save any piece of information under a key and get it back in under 6 milliseconds. That is faster than a single frame of a 60fps video.
Handles many users at once
The system serves 200 users simultaneously and processes over 159,000 reads and writes every single second.
Remembers frequently used data
A smart memory layer keeps recently accessed data ready so repeat requests come back almost instantly without touching the main storage.
Organizes data with tags
Data can be grouped under tags and looked up in bulk. For example you can retrieve every active user or every project in a single call.
Not a tutorial project
Most projects either use an existing database or follow a guided walkthrough. This one reimplements the design patterns behind Redis from first principles.
| What it does | Why it matters |
|---|---|
| No external libraries | The hashmap, cache, server, and network protocol were all written from scratch in C++. |
| Real concurrency | Storage is split into 64 independent shards so multiple users can read and write at the same time without blocking each other. |
| Stress tested | Verified at 159,000 operations per second across 200 simultaneous connections with zero data corruption. |
| Same ideas as Redis | Implements LRU eviction, sharded locking, binary wire protocol, and secondary indexes independently. |