Совместимый с Redis и Valkey внутрипамятный сервер «ключ—значение» на Rust со встроенным полнотекстовым и векторным поиском.
dragonflydb/dragonfly
In-memory хранилище данных, совместимое по API с Redis и Memcached и задуманное как их прямая замена.
Open source альтернатива:Redis
- Звёзды
- 31,798
- Форки
- 1,283
- Открытые issues
- 276
- Последний коммит
- 9 часов назад
Что это?
Dragonfly — это in-memory хранилище данных, реализующее протоколы Redis и Memcached. Поэтому существующие клиенты и приложения могут подключаться к нему без изменений кода. Проект написан на C++ и использует архитектуру shared-nothing, распределяя пространство ключей между потоками. Благодаря этому один экземпляр может задействовать несколько ядер CPU, тогда как процесс Redis обычно полагается на один поток.
Проект подходит для кэширования и работы с ключами и значениями. В нём есть режим адаптивного вытеснения из кэша, включаемый флагом, истечение срока действия по TTL и механизм создания snapshot для резервного копирования. Создание snapshot можно запланировать с помощью cron-выражения. Dragonfly также предоставляет метрики, совместимые с Prometheus, и встроенную HTTP-консоль на основном порту. В развёртываниях, доступных из недоверенных сетей, консоль можно отключить.
В README приведены результаты сравнительных тестов с Redis и Memcached на инстансах AWS; показатели пропускной способности и задержки зависят от размера инстанса и рабочей нагрузки. Эти цифры получены в собственных тестах проекта, поэтому их стоит проверить на своей нагрузке.
Ключевые возможности
- 01Совместимость с протоколами Redis и Memcached позволяет использовать существующие клиенты без изменений кода.
- 02Многопоточная архитектура распределяет ключи между потоками, чтобы задействовать несколько ядер CPU.
- 03Режим адаптивного вытеснения удаляет элементы при приближении к лимиту памяти.
- 04Планирование создания snapshot с помощью cron-синтаксиса и метрики, совместимые с Prometheus.
- 05Встроенная HTTP-консоль на основном порту, которую можно отключить.
Сценарии использования
- Замена развёртывания Redis, упирающегося в ограничения одного потока CPU.
- Использование в качестве слоя кэширования перед базами данных с клиентами Redis или Memcached.
- Запуск хранилища ключей и значений на крупных облачных инстансах с большим числом ядер.
- Мониторинг состояния in-memory хранилища с помощью Prometheus и Grafana.
Быстрый старт
- 1
Получите бинарный файл Dragonfly, следуя руководству по быстрому запуску в документации
- 2
Запустите Dragonfly с параметрами примера скрипта запуска
./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
Что важно знать
- В метаданных лицензия указана как NOASSERTION, поэтому перед использованием необходимо проверить условия лицензии непосредственно в репозитории.
- Сроки истечения свыше 2^28 мс округляются до ближайшей секунды, что может подойти не для всех сценариев использования.
Темы
Частые вопросы
- Что такое dragonfly?
- In-memory хранилище данных, совместимое по API с Redis и Memcached и задуманное как их прямая замена. Dragonfly — это in-memory хранилище данных, реализующее протоколы Redis и Memcached. Поэтому существующие клиенты и приложения могут подключаться к нему без изменений кода. Проект написан на C++ и использует архитектуру shared-nothing, распределяя пространство ключей между потоками. Благодаря этому один экземпляр может задействовать несколько ядер CPU, тогда как процесс Redis обычно полагается на один поток.
- dragonfly можно использовать бесплатно? Какая у него лицензия?
- dragonfly распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- dragonfly всё ещё поддерживается?
- Активно поддерживается. Последний коммит в dragonfly — 19 окт. 2026 г..
- Для чего можно использовать dragonfly?
- Замена развёртывания Redis, упирающегося в ограничения одного потока CPU. Использование в качестве слоя кэширования перед базами данных с клиентами Redis или Memcached. Запуск хранилища ключей и значений на крупных облачных инстансах с большим числом ядер. Мониторинг состояния in-memory хранилища с помощью Prometheus и Grafana.
- Как установить dragonfly?
- Получите бинарный файл Dragonfly, следуя руководству по быстрому запуску в документации Запустите Dragonfly с параметрами примера скрипта запуска: ./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
- Где скачать dragonfly?
- Исходный код и инструкции по установке — на GitHub: https://github.com/dragonflydb/dragonfly
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Apache IoTDB — база данных временных рядов для сбора, хранения и анализа данных с IoT-датчиков с SQL-подобными запросами и доступом через JDBC.
Нативная IDE для работы с базами данных в macOS, Windows и Linux: поддерживает PostgreSQL, MySQL, SQLite, Redis, MongoDB, SQL Server и ClickHouse, включает MCP-сервер и AI-чат.
Платформа разработки на базе Postgres: управляемая база данных с аутентификацией, автоматически генерируемыми API, хранилищем и функциями realtime — альтернатива Firebase.
Кроссплатформенный SQL-редактор и менеджер баз данных для Linux, macOS и Windows с поддержкой MySQL, PostgreSQL, SQLite, SQL Server и других СУБД.
Apache Druid — высокопроизводительная база данных для аналитики в реальном времени, быстрых запросов и загрузки данных; её часто используют как open-source альтернативу хранилищам данных.