In-memory хранилище данных, совместимое по API с Redis и Memcached и задуманное как их прямая замена.
Snapchat/KeyDB
Многопоточная Redis-совместимая база данных в памяти — прямая замена Redis с репликацией active-active и опциональным хранением данных во FLASH.
Open source альтернатива:Redis
- Звёзды
- 12,499
- Форки
- 680
- Открытые issues
- 295
- Последний коммит
- 15 дней назад
Что это?
KeyDB — высокопроизводительный форк Redis, ориентированный на многопоточность, эффективное использование памяти и пропускную способность. Он полностью совместим с протоколом Redis, модулями и скриптами, поэтому существующие инсталляции Redis можно перевести на него без изменений клиентских приложений и кода.
Помимо возможностей Redis, KeyDB поддерживает репликацию active-active: несколько экземпляров могут одновременно принимать запросы на чтение и запись, оставаясь синхронизированными. Это упрощает балансировку нагрузки на уровне TCP и переключение на резервный узел. Также доступны хранение данных во FLASH на локальных SSD, срок действия отдельных ключей и опциональные выгрузка и загрузка данных из S3. Благодаря архитектуре MVCC такие команды, как KEYS и SCAN, выполняются без блокировки базы данных.
KeyDB работает на Linux, и сборка тестируется именно на этой платформе. Многопоточность настраивается такими параметрами, как server-threads и параметры балансировки клиентов; в сборках TLS включён по умолчанию.
Ключевые возможности
- 01Многопоточная обработка запросов с поддержкой протокола Redis, модулей и скриптов.
- 02Репликация active-active, позволяющая нескольким экземплярам принимать запросы на чтение и запись.
- 03Хранение данных во FLASH на локальных SSD (экспериментальная функция).
- 04Срок действия отдельных ключей и неблокирующее выполнение KEYS и SCAN на основе MVCC.
- 05Опциональные выгрузка данных в AWS S3 и загрузка из него.
Сценарии использования
- Замена существующей инсталляции Redis для увеличения пропускной способности на том же оборудовании.
- Развёртывание слоя кэширования, в котором несколько экземпляров совместно обрабатывают запросы на чтение и запись.
- Сокращение числа серверов за счёт увеличения нагрузки на каждый узел.
Быстрый старт
- 1
Установите зависимости для сборки в 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
Инициализируйте и обновите зависимости подмодулей
git submodule init && git submodule update - 3
Скомпилируйте KeyDB
make - 4
Запустите сервер с конфигурацией по умолчанию из каталога src
./keydb-server
Что важно знать
- Сборка и тестирование выполняются только в Linux, поскольку проект зависит от Linux SO_REUSEPORT.
- Хранилище FLASH — экспериментальная функция (бета-версия), поэтому используйте его с осторожностью.
- Платная поддержка не предоставляется; помощь можно получить через каналы сообщества.
В подборках
Темы
Частые вопросы
- Что такое KeyDB?
- Многопоточная Redis-совместимая база данных в памяти — прямая замена Redis с репликацией active-active и опциональным хранением данных во FLASH. KeyDB — высокопроизводительный форк Redis, ориентированный на многопоточность, эффективное использование памяти и пропускную способность. Он полностью совместим с протоколом Redis, модулями и скриптами, поэтому существующие инсталляции Redis можно перевести на него без изменений клиентских приложений и кода.
- KeyDB можно использовать бесплатно? Какая у него лицензия?
- KeyDB распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- KeyDB всё ещё поддерживается?
- Активно поддерживается. Последний коммит в KeyDB — 22 окт. 2026 г..
- Для чего можно использовать KeyDB?
- Замена существующей инсталляции Redis для увеличения пропускной способности на том же оборудовании. Развёртывание слоя кэширования, в котором несколько экземпляров совместно обрабатывают запросы на чтение и запись. Сокращение числа серверов за счёт увеличения нагрузки на каждый узел.
- Как установить KeyDB?
- Установите зависимости для сборки в 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 Инициализируйте и обновите зависимости подмодулей: git submodule init && git submodule update Скомпилируйте KeyDB: make Запустите сервер с конфигурацией по умолчанию из каталога src: ./keydb-server
- Где скачать KeyDB?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Snapchat/KeyDB
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Высокопроизводительный сервер структур данных «ключ — значение», совместимый с Redis и созданный как форк Redis для кэширования и задач реального времени.
Удалённое хранилище кэша на C#, совместимое с протоколом Redis RESP: существующие клиенты Redis подключаются к нему без изменений.
Совместимый с Redis и Valkey внутрипамятный сервер «ключ—значение» на Rust со встроенным полнотекстовым и векторным поиском.
Распределённая NoSQL-база данных типа «ключ—значение» на RocksDB с поддержкой протокола Redis, к которой можно подключаться существующими Redis-клиентами.
Библиотека для хранения пар «ключ-значение» в Node.js с TTL и подключаемыми хранилищами, такими как Redis, MongoDB, SQLite и PostgreSQL.