Repolode
apache

apache/kvrocks

A distributed NoSQL key-value database that uses RocksDB for storage and speaks the Redis protocol, so existing Redis clients can connect.

Open-source alternative to:Redis

Stars
4,492
Forks
689
Open issues
291
Last commit
yesterday

What is it?

Apache Kvrocks is a distributed key-value NoSQL database built on RocksDB as its storage engine. It is compatible with the Redis protocol, so applications can use any Redis client to access it. The project aims to reduce memory cost and increase storage capacity compared with keeping data in Redis memory.

Kvrocks provides namespaces, which isolate data between users with a separate token for each namespace instead of a single shared password. Replication is asynchronous and based on binlog, similar to MySQL, and Redis Sentinel can be used for failover when a master or replica fails. Its cluster mode is centralized management that remains accessible through standard Redis cluster clients.

The server builds on Linux and macOS for x86_64, ARM and RISC-V, with optional TLS support through OpenSSL. Companion tools cover cluster management, metrics export and migration from or to Redis.

Key features

  • 01Redis protocol compatibility, so standard Redis clients work without changes.
  • 02Namespaces with a separate token per namespace for data isolation.
  • 03Asynchronous binlog-based replication.
  • 04Redis Sentinel support for failover.
  • 05Centralized cluster mode accessible through Redis cluster clients.
  • 06Optional TLS support via OpenSSL.

Use cases

  • Storing large datasets that would be costly to hold entirely in Redis memory.
  • Replacing a Redis deployment that needs lower memory cost while keeping existing clients.
  • Serving multiple tenants that need token-based data isolation on one server.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/apache/kvrocks.git
  2. 2

    Enter the project directory

    cd kvrocks
  3. 3

    Build Kvrocks

    ./x.py build
  4. 4

    Run Kvrocks with the config file

    ./build/kvrocks -c kvrocks.conf

Things to know

  • Supported only on Linux and macOS.
  • Building from source needs several system packages and a C++ toolchain.

In collections

Topics

FAQ

What is kvrocks?
A distributed NoSQL key-value database that uses RocksDB for storage and speaks the Redis protocol, so existing Redis clients can connect. Apache Kvrocks is a distributed key-value NoSQL database built on RocksDB as its storage engine. It is compatible with the Redis protocol, so applications can use any Redis client to access it. The project aims to reduce memory cost and increase storage capacity compared with keeping data in Redis memory.
Is kvrocks free to use? What license does it have?
kvrocks is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is kvrocks still maintained?
Actively maintained. The last commit to kvrocks was on Nov 6, 2026.
What can I use kvrocks for?
Storing large datasets that would be costly to hold entirely in Redis memory. Replacing a Redis deployment that needs lower memory cost while keeping existing clients. Serving multiple tenants that need token-based data isolation on one server.
How do I install kvrocks?
Clone the repository: git clone https://github.com/apache/kvrocks.git Enter the project directory: cd kvrocks Build Kvrocks: ./x.py build Run Kvrocks with the config file: ./build/kvrocks -c kvrocks.conf
Where can I get kvrocks?
The source code and installation instructions are on GitHub: https://github.com/apache/kvrocks

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

Related projects