In-memory хранилище данных, совместимое по API с Redis и Memcached и задуманное как их прямая замена.
apache/kvrocks
Распределённая NoSQL-база данных типа «ключ—значение» на RocksDB с поддержкой протокола Redis, к которой можно подключаться существующими Redis-клиентами.
Open source альтернатива:Redis
- Звёзды
- 4,491
- Форки
- 691
- Открытые issues
- 291
- Последний коммит
- вчера
Что это?
Apache Kvrocks — распределённая NoSQL-база данных типа «ключ—значение», использующая RocksDB в качестве движка хранения. Она совместима с протоколом Redis, поэтому приложения могут обращаться к ней с помощью любого Redis-клиента. Цель проекта — снизить затраты на память и увеличить объём хранимых данных по сравнению с хранением данных в памяти Redis.
Kvrocks поддерживает пространства имён, которые изолируют данные пользователей: для каждого пространства используется отдельный токен, а не один общий пароль. Репликация выполняется асинхронно на основе binlog, как в MySQL; для переключения при сбое мастера или реплики можно использовать Redis Sentinel. В кластерном режиме управление централизовано, а доступ к кластеру сохраняется через стандартные Redis-клиенты для кластеров.
Сервер собирается на Linux и macOS для архитектур x86_64, ARM и RISC-V; при необходимости можно включить поддержку TLS через OpenSSL. Вспомогательные инструменты предназначены для управления кластером, экспорта метрик и миграции данных в Redis и из него.
Ключевые возможности
- 01Совместимость с протоколом Redis: стандартные Redis-клиенты работают без изменений.
- 02Пространства имён с отдельным токеном для каждого пространства обеспечивают изоляцию данных.
- 03Асинхронная репликация на основе binlog.
- 04Поддержка Redis Sentinel для переключения при сбоях.
- 05Централизованно управляемый кластерный режим, доступный через Redis-клиенты для кластеров.
- 06Опциональная поддержка TLS через OpenSSL.
Сценарии использования
- Хранение больших наборов данных, которые слишком дорого целиком держать в памяти Redis.
- Замена развёртывания Redis, для которого нужно снизить затраты на память и сохранить совместимость с существующими клиентами.
- Обслуживание нескольких арендаторов, которым нужна изоляция данных с помощью токенов на одном сервере.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/apache/kvrocks.git - 2
Перейдите в каталог проекта
cd kvrocks - 3
Соберите Kvrocks
./x.py build - 4
Запустите Kvrocks с файлом конфигурации
./build/kvrocks -c kvrocks.conf
Что важно знать
- Поддерживается только в Linux и macOS.
- Для сборки из исходного кода требуются несколько системных пакетов и набор инструментов C++.
В подборках
Темы
Частые вопросы
- Что такое kvrocks?
- Распределённая NoSQL-база данных типа «ключ—значение» на RocksDB с поддержкой протокола Redis, к которой можно подключаться существующими Redis-клиентами. Apache Kvrocks — распределённая NoSQL-база данных типа «ключ—значение», использующая RocksDB в качестве движка хранения. Она совместима с протоколом Redis, поэтому приложения могут обращаться к ней с помощью любого Redis-клиента. Цель проекта — снизить затраты на память и увеличить объём хранимых данных по сравнению с хранением данных в памяти Redis.
- kvrocks можно использовать бесплатно? Какая у него лицензия?
- kvrocks распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- kvrocks всё ещё поддерживается?
- Активно поддерживается. Последний коммит в kvrocks — 4 нояб. 2026 г..
- Для чего можно использовать kvrocks?
- Хранение больших наборов данных, которые слишком дорого целиком держать в памяти Redis. Замена развёртывания Redis, для которого нужно снизить затраты на память и сохранить совместимость с существующими клиентами. Обслуживание нескольких арендаторов, которым нужна изоляция данных с помощью токенов на одном сервере.
- Как установить kvrocks?
- Клонируйте репозиторий: git clone https://github.com/apache/kvrocks.git Перейдите в каталог проекта: cd kvrocks Соберите Kvrocks: ./x.py build Запустите Kvrocks с файлом конфигурации: ./build/kvrocks -c kvrocks.conf
- Где скачать kvrocks?
- Исходный код и инструкции по установке — на GitHub: https://github.com/apache/kvrocks
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Высокопроизводительный сервер структур данных «ключ — значение», совместимый с Redis и созданный как форк Redis для кэширования и задач реального времени.
Хранилище «ключ—значение» с поддержкой протокола Redis и хранением данных в RocksDB для наборов данных, превышающих объём памяти.
Многопоточная Redis-совместимая база данных в памяти — прямая замена Redis с репликацией active-active и опциональным хранением данных во FLASH.
Распределённый SQLite-сервер без лидера: принимает записи на любом узле и поддерживает протокол MySQL.
Удалённое хранилище кэша на C#, совместимое с протоколом Redis RESP: существующие клиенты Redis подключаются к нему без изменений.