Servidor de chave-valor em memória compatível com Redis e Valkey, escrito em Rust, com busca integrada de texto completo e vetorial.
dragonflydb/dragonfly
Um armazenamento de dados em memória compatível com as APIs do Redis e do Memcached, criado para substituir ambos sem mudanças nas aplicações.
Alternativa open source a:Redis
- Estrelas
- 31,798
- Forks
- 1,283
- Issues abertas
- 276
- Último commit
- há 8 horas
O que é?
Dragonfly é um armazenamento de dados em memória que implementa os protocolos do Redis e do Memcached, permitindo que clientes e aplicações existentes se conectem sem alterações no código. Ele é escrito em C++ e usa uma arquitetura shared-nothing que divide o espaço de chaves entre as threads, permitindo que uma única instância use vários núcleos de CPU, em vez de depender de uma única thread, como costuma acontecer com um processo Redis.
O projeto atende a cargas de trabalho de cache e chave-valor, com um modo adaptativo de remoção de itens do cache ativado por uma flag, expiração baseada em TTL e um mecanismo de snapshots para backups. Os snapshots podem ser agendados com uma expressão cron. O Dragonfly também expõe métricas compatíveis com Prometheus e um console HTTP integrado na porta principal, que pode ser desativado em implantações expostas a redes não confiáveis.
O README apresenta comparações de benchmark com Redis e Memcached em instâncias da AWS, com números de throughput e latência que variam conforme o tamanho da instância e a carga de trabalho. Esses números vêm dos próprios testes do projeto; por isso, é melhor validá-los com a sua carga de trabalho.
Recursos principais
- 01Compatível com os protocolos do Redis e do Memcached, permitindo que clientes existentes funcionem sem alterações no código.
- 02Design multithread que divide as chaves entre threads para usar vários núcleos de CPU.
- 03Modo adaptativo de remoção de itens do cache, que elimina itens quando o limite de memória está próximo.
- 04Snapshots agendados com sintaxe cron, além de métricas compatíveis com Prometheus.
- 05Console HTTP integrado na porta principal, que pode ser desativado.
Casos de uso
- Substituir uma implantação do Redis limitada pelo uso de uma única thread da CPU.
- Atuar como camada de cache diante de bancos de dados, usando clientes Redis ou Memcached.
- Executar um armazenamento de chave-valor em instâncias grandes na nuvem, com muitos núcleos.
- Monitorar a integridade de um armazenamento em memória com Prometheus e Grafana.
Início rápido
- 1
Obtenha um binário do Dragonfly seguindo o guia de início rápido da documentação
- 2
Execute o Dragonfly com as opções do script de inicialização de exemplo
./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
Antes de usar
- Os metadados indicam que a licença é NOASSERTION, portanto é necessário verificar os termos diretamente no repositório antes de usar.
- Prazos de expiração acima de 2^28 ms são arredondados para o segundo mais próximo, o que pode não ser adequado para todos os casos de uso.
Tópicos
Perguntas frequentes
- O que é dragonfly?
- Um armazenamento de dados em memória compatível com as APIs do Redis e do Memcached, criado para substituir ambos sem mudanças nas aplicações. Dragonfly é um armazenamento de dados em memória que implementa os protocolos do Redis e do Memcached, permitindo que clientes e aplicações existentes se conectem sem alterações no código. Ele é escrito em C++ e usa uma arquitetura shared-nothing que divide o espaço de chaves entre as threads, permitindo que uma única instância use vários núcleos de CPU, em vez de depender de uma única thread, como costuma acontecer com um processo Redis.
- dragonfly é gratuito? Qual é a licença?
- dragonfly é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- dragonfly ainda é mantido?
- Manutenção ativa. O último commit de dragonfly foi em 19 de out. de 2026.
- Para que posso usar dragonfly?
- Substituir uma implantação do Redis limitada pelo uso de uma única thread da CPU. Atuar como camada de cache diante de bancos de dados, usando clientes Redis ou Memcached. Executar um armazenamento de chave-valor em instâncias grandes na nuvem, com muitos núcleos. Monitorar a integridade de um armazenamento em memória com Prometheus e Grafana.
- Como instalar dragonfly?
- Obtenha um binário do Dragonfly seguindo o guia de início rápido da documentação Execute o Dragonfly com as opções do script de inicialização de exemplo: ./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
- Onde consigo dragonfly?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dragonflydb/dragonfly
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
O Apache IoTDB é um banco de dados de séries temporais para coletar, armazenar e analisar dados de sensores IoT, com consultas semelhantes a SQL e acesso via JDBC.
IDE nativa de banco de dados para macOS, Windows e Linux, compatível com PostgreSQL, MySQL, SQLite, Redis, MongoDB, SQL Server e ClickHouse, com servidor MCP integrado e chat com IA.
Plataforma de desenvolvimento Postgres que oferece um banco Postgres hospedado com autenticação, APIs geradas automaticamente, armazenamento e recursos em tempo real como alternativa ao Firebase.
Editor SQL e gerenciador de bancos de dados multiplataforma para Linux, macOS e Windows, com suporte a MySQL, PostgreSQL, SQLite, SQL Server e muitos outros.
Apache Druid é um banco de dados de analytics em tempo real e alto desempenho, com consultas e ingestão rápidas, usado muitas vezes como alternativa open source a data warehouses.