Tried to implement a redis like key value store in C++. This server utilizes a single event loop with epoll to manage multiple clients at once. It supports a subset of Redis commands and follows the Redis Serialization Protocol (RESP) for client-server communication. It supports Key Value stores, List Stores and Hash Stores.
- RESP Parsing
- Non-Blocking I/O : Uses
epollfor handling multiple connections on a single thread. - Persists data to disk
- Graceful shutdown with signal handling
PINGECHOFLUSHALL
SETGETKEYSTYPEDELEXISTSRENAMEEXPIRE
LLENLGETLPUSHRPUSHLPOPRPOPLREMLINDEXLSET
HSETHGETHDELHEXISTSHGETALLHKEYSHVALSHLEN
- [] Implement more commands
- [] Add connection timeout and buffer limit