Systems Project / C++17

A database engine
built from scratch

Apps like Instagram and Twitter store millions of pieces of data every second using something called a cache. I built one from scratch in C++ to understand exactly how it works at the lowest level. Try it on the right.

159k+
operations per second
6ms
cached read latency
200
concurrent connections
port 6380 / 64 shards / LRU cache connecting...
Connecting to KV server...
tag lookups
store state
Connecting...
0
operations in this session
0%
cache hit rate
0
keys in store
What is this project

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.

Why it is different

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.