GointermediatebackendAI Generated

Key-Value Store with WAL

Persistent key-value store in Go with a Write-Ahead Log for durability, CRUD operations, and a simple TCP protocol.

5 steps
Project Roadmap
  1. 01

    In-memory storage

    map[string][]byte protected with sync.RWMutex for Get/Set/Delete operations.

  2. 02

    Write-Ahead Log

    Before each mutation, write op+key+value to the WAL (append-only file).

  3. 03

    Recovery

    On startup, replay the WAL to reconstruct the in-memory state.

  4. 04

    TCP Protocol

    TCP server with text commands: SET key value, GET key, DEL key, KEYS *.

  5. 05

    Compaction

    Periodically, compact the WAL by writing a snapshot and truncating the old log.

Ready to build this?

Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.

5 steps

Tech Stack

Goencoding/gobnetsync