Repolode
dragonflydb

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. 1

    Obtenha um binário do Dragonfly seguindo o guia de início rápido da documentação

  2. 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