Skip to content

Lightweight, high-speed in-memory key-value store with AOF / RDB persistence ⚡

License

Notifications You must be signed in to change notification settings

zakhaev26/fast-hash

Repository files navigation

FastHash Banner

FastHash is a simple, fast in-memory key-value store written in C++.

  • Core Features (Completed)

    • Basic key-value SET and GET commands
    • DEL command to delete keys
    • EXPIRE command to set TTL (time-to-live) on keys
    • TTL command to get remaining TTL of keys
    • SETEX command (set key with expiry in one command)
    • EXISTS command to check presence of keys
    • KEYS command to list all keys (with pattern support planned)
    • FLUSHALL command to clear all keys in the store
    • SAVE command to persist the current key-value store snapshot to disk (via main thread - to be fixed) (JSON format)
    • LOAD command to load persisted data from disk on startup
    • In-House Primary Data Structures
  • Persistence (Planned~WIP)

    • Background snapshot saving to avoid blcking the main thread
    • AOF logging for durability and incremental persistence
    • Periodic snapshotting combined with AOF for crash recovery
    • Configurable persistence options (enable/disable, frequency)
  • Networking Layer (In Progress)

    • TCP server using standalone ASIO (Maybe In house TCP Server ? Look into it) <--*
    • Async multi-client handling with full concurrency support
    • Command parsing over network (line-based, later RESP protocol)
    • Well-structured, production-grade request-response lifecycle
    • Client session management, connection cleanup, error handling
    • TLS/SSL support for encrypted connections (planned)
  • Advanced Data Types and Commands (Planned)

  • SRE (Planned)

    • Replication (master-slave wala)
    • Persistence guarantees and durability levels
    • Cluster mode with sharding and failover
    • Monitoring and metrics (Prometheus integration)
  • Tooling & Developer Experience (Planned)

    • test suites
    • docs and examples

About

Lightweight, high-speed in-memory key-value store with AOF / RDB persistence ⚡

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published