An in-memory data store that is API-compatible with Redis and Memcached, aiming to be a drop-in replacement for both.
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
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
Initialize and update the submodule dependencies
git submodule init && git submodule update - 3
Compile KeyDB
make - 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
A high-performance, Redis-compatible key-value data structure server forked from Redis, aimed at caching and realtime workloads.
A C# remote cache-store that speaks the Redis RESP protocol, so existing Redis clients can connect to it without changes.
A Redis- and Valkey-compatible in-memory key-value server written in Rust, with built-in full-text and vector search.
A distributed NoSQL key-value database that uses RocksDB for storage and speaks the Redis protocol, so existing Redis clients can connect.
A Node.js key-value storage library with TTL expiry and pluggable backends such as Redis, MongoDB, SQLite and PostgreSQL.