apache/kvrocks
apache/kvrocks has 4,499 GitHub stars and 693 forks. GitHot measured +1 stars in 24 hours, +10 in 7 days, and +18 in 15 days. Last checked 2026-11-11 15:53 UTC. Last push 2026-11-02.
Comment ces chiffres sont mesurés
Apache Kvrocks est une base de données NoSQL distribuée clé-valeur qui utilise RocksDB comme moteur de stockage et est compatible avec le protocole Redis.
Progression mesurée des étoiles
- in 24h
- +1
- in 7 days
- +10
- in 15 days
- +18
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
Original
Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. Kvrocks intends to decrease the cost of memory and increase the capacity while compared to Redis. The design of replication and storage was inspired by rocksplicator and blackwidow.
Kvrocks has the following key features:
- Redis Compatible: Users can access Apache Kvrocks via any Redis client.
- Namespace: Similar to Redis SELECT but equipped with token per namespace.
- Replication: Async replication using binlog like MySQL.
- High Availability: Support Redis sentinel to failover when master or slave was failed.
- Cluster: Centralized management but accessible via any Redis cluster client.
Who uses Kvrocks
You can find Kvrocks users at the Users page.
Users are encouraged to add themselves to the Users page. Either leave a comment on the "Who is using Kvrocks" issue, or directly send a pull request to add company or organization information and logo.
Build and run Kvrocks
Prerequisite
# Ubuntu / Debian
sudo apt update
sudo apt install -y git build-essential cmake libtool python3 libssl-dev
# CentOS / RedHat
sudo yum install -y centos-release-scl-rh
sudo yum install -y git devtoolset-11 autoconf automake libtool libstdc++-static python3 openssl-devel
# download and install cmake via https://cmake.org/download
wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.sh -O cmake.sh
sudo bash cmake.sh --skip-license --prefix=/usr
# enable gcc and make in devtoolset-11
source /opt/rh/devtoolset-11/enable
# openSUSE / SUSE Linux Enterprise
sudo zypper install -y gcc11 gcc11-c++ make wget git autoconf automake python3 curl cmake
# Arch Linux
sudo pacman -Sy --noconfirm autoconf automake python3 git wget which cmake make gcc
# macOS
brew install git cmake autoconf automake libtool openssl
# please link openssl by force if it still cannot be found after installing
brew link --force openssl
Build
It is as simple as:
$ git clone https://github.com/apache/kvrocks.git
$ cd kvrocks
$ ./x.py build # `./x.py build -h` to check more options
To build with TLS support, you'll need OpenSSL development libraries (e.g. libssl-dev on Debian/Ubuntu) and run:
$ ./x.py build -DENABLE_OPENSSL=ON
To build with lua instead of luaJIT, run:
$ ./x.py build -DENABLE_LUAJIT=OFF
Build with debug mode, run:
# The default build type is RelWithDebInfo and its optimization level is typically -O2.
# You can change it to -O0 in debug mode.
$ ./x.py build -DCMAKE_BUILD_TYPE=Debug
Running Kvrocks
$ ./build/kvrocks -c kvrocks.conf
Running Kvrocks using Docker
$ docker run -it -p 6666:6666 apache/kvrocks --bind 0.0.0.0
# or get the nightly image:
$ docker run -it -p 6666:6666 apache/kvrocks:nightly
Please visit Apache Kvrocks on DockerHub for additional details about images.
Connect Kvrocks service
$ redis-cli -p 6666
127.0.0.1:6666> get a
(nil)
Running test cases
$ ./x.py build --unittest
$ ./x.py test cpp # run C++ unit tests
$ ./x.py test go # run Golang (unit and integration) test cases
Supported platforms
- OS: Linux and macOS
- arch: x86_64, ARM and RISC-V
Namespace
Namespace is used to isolate data between users. Unlike all the Redis databases can be visited by requirepass, we use one token per namespace. requirepass is regarded as admin token, and only admin token allows to access the namespace command, as well as some commands like config, slaveof, bgsave, etc. See the Namespace page for more details.
# add token
127.0.0.1:6666> namespace add ns1 my_token
OK
# update token
127.0.0.1:6666> namespace set ns1 new_token
OK
# list namespace
127.0.0.1:6666> namespace get *
1) "ns1"
2) "new_token"
3) "__namespace"
4) "foobared"
# delete namespace
127.0.0.1:6666> namespace del ns1
OK
Cluster
Kvrocks implements a proxyless centralized cluster solution but its accessing method is completely compatible with Redis cluster clients. You can use Redis cluster SDKs to access the kvrocks cluster. For more details, please refer to Kvrocks Cluster Introduction.
Documents
Documents are hosted at the official website.
Tools
- To manage Kvrocks clusters for failover, scaling up/down and more, use kvrocks-controller
- To export the Kvrocks monitor metrics, use kvrocks_exporter
- To migrate from Redis to Kvrocks, use RedisShake
- To migrate from Kvrocks to Redis, use
kvrocks2redisbuilt via./x.py build
Contributing
Kvrocks community welcomes all forms of contribution and you can find out how to get involved on the Community and How to Contribute pages.
License
Apache Kvrocks is licensed under the Apache License Version 2.0. See LICENSE and NOTICE for details.
Social Media
- Medium
- X (Twitter)
- Zhihu (in Chinese)
- WeChat Official Account (in Chinese, scan the QR code to follow)

Explorer des projets similaires
Asabeneh/30-Days-Of-Python
Le défi de programmation 30 Days of Python est un guide pas à pas pour apprendre le langage de programmation Python en 30 jours. Ce défi peut prendre plus de 100 jours. Avancez à votre rythme. Ces vidéos peuvent aussi vous aider : https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 étoilesgrafana/grafana
Plateforme ouverte et composable d’observabilité et de visualisation de données. Visualise les métriques, les journaux et les traces issus de plusieurs sources, comme Prometheus, Loki, Elasticsearch, InfluxDB, Postgres et bien d’autres.
77,830 étoilesredis/redis
Pour les développeurs qui créent des applications en temps réel pilotées par les données, Redis est le cache, le serveur de structures de données et le moteur de requêtes documentaires et vectorielles préféré, le plus rapide et le plus riche en fonctionnalités.
77,395 étoilesapache/superset
Apache Superset est une plateforme de visualisation et d'exploration de données.
75,473 étoiles