Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redis-like Key Value Store in C++

A simple Redis-inspired in-memory key-value server built in C++.

The project focuses on understanding how a basic database server works internally, including networking, request handling, serialization, and hash tables.

Features

  • TCP client-server communication
  • Non-blocking sockets
  • poll() based event loop
  • Multiple client connections
  • Custom binary request/response protocol
  • Custom serialization and deserialization
  • In-memory key-value storage
  • GET, SET, and ERASE commands
  • Custom hash table with separate chaining
  • Dynamic hash table resizing
  • Incremental rehashing
  • Benchmarking with multiple concurrent clients

Benchmark Metrics

Architecture

Client
   |
   | TCP
   ↓
Server
   |
   ↓
poll() Event Loop
   |
   ├── Read Request
   |
   ├── Deserialize
   |
   ├── Process Command
   |       |
   |       ↓
   |   Hash Table
   |
   ├── Create Response
   |
   └── Write Response

About

Building redis from scratch in c++

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages