A multi-threaded, persistent key-value store in C++17, inspired by Redis.
GET,SET,DEL,PINGover a plain-text TCP protocol- LRU eviction with a configurable key cap (default: 1000 keys)
- Append-only file (AOF) persistence — replays on restart
- Thread pool (default: 4 workers) for concurrent client handling
- No external dependencies
make./kvstoreListens on port 6379. Test with netcat:
nc localhost 6379
PING
SET name Atharv
GET name
DEL name./kvstore &
python3 bench.py
python3 bench.py --ops 50000make testPlain text, newline-delimited:
SET <key> <value> → +OK
GET <key> → +<value> | -ERR not found
DEL <key> → +OK | -ERR not found
PING [msg] → +PONG | +<msg>