Repolode
Snapchat

Snapchat/KeyDB

A multithreaded, Redis-compatible in-memory database and drop-in replacement for Redis, with active-active replication and optional FLASH storage.

Open-source alternative to:Redis

Stars
12,498
Forks
679
Open issues
295
Last commit
16 days ago

What is it?

KeyDB is a high-performance fork of Redis focused on multithreading, memory efficiency and throughput. It keeps full compatibility with the Redis protocol, modules and scripts, so existing Redis deployments can switch to it without changes to clients or application code.

Beyond the Redis feature set, KeyDB adds active-active replication, which lets multiple instances accept reads and writes while staying in sync and makes TCP-based load balancing and hot-spare failover simpler. It also offers FLASH storage on local SSDs, subkey expiration, and optional S3 dump and load. Its MVCC design lets commands such as KEYS and SCAN run without blocking the database.

KeyDB runs on Linux, and the build is tested there. Multithreading is controlled by options such as server-threads and client balancing settings, and TLS is enabled by default in builds.

Key features

  • 01Multithreaded request handling compatible with the Redis protocol, modules and scripts.
  • 02Active-active replication so multiple instances can accept reads and writes.
  • 03FLASH storage on local SSDs (experimental).
  • 04Subkey expiration and MVCC-based non-blocking KEYS and SCAN.
  • 05Optional dump and load to AWS S3.

Use cases

  • Replacing an existing Redis deployment to gain higher throughput on the same hardware.
  • Running a caching layer where multiple instances need to serve writes and reads together.
  • Reducing server count by handling more load per node.

Quick start

  1. 1

    Install build dependencies on Debian/Ubuntu

    sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev
  2. 2

    Initialize and update the submodule dependencies

    git submodule init && git submodule update
  3. 3

    Compile KeyDB

    make
  4. 4

    From the src directory, start the server with the default configuration

    ./keydb-server

Things to know

  • Builds and is tested on Linux only, because it relies on Linux SO_REUSEPORT.
  • FLASH storage is experimental (beta) and should be used with discretion.
  • No paid support is offered; help comes through community channels.

In collections

Topics

FAQ

What is KeyDB?
A multithreaded, Redis-compatible in-memory database and drop-in replacement for Redis, with active-active replication and optional FLASH storage. KeyDB is a high-performance fork of Redis focused on multithreading, memory efficiency and throughput. It keeps full compatibility with the Redis protocol, modules and scripts, so existing Redis deployments can switch to it without changes to clients or application code.
Is KeyDB free to use? What license does it have?
KeyDB is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
Is KeyDB still maintained?
Actively maintained. The last commit to KeyDB was on Oct 22, 2026.
What can I use KeyDB for?
Replacing an existing Redis deployment to gain higher throughput on the same hardware. Running a caching layer where multiple instances need to serve writes and reads together. Reducing server count by handling more load per node.
How do I install KeyDB?
Install build dependencies on Debian/Ubuntu: sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev Initialize and update the submodule dependencies: git submodule init && git submodule update Compile KeyDB: make From the src directory, start the server with the default configuration: ./keydb-server
Where can I get KeyDB?
The source code and installation instructions are on GitHub: https://github.com/Snapchat/KeyDB

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects