Repolode
dragonflydb

dragonflydb/dragonfly

Almacén de datos en memoria compatible con las API de Redis y Memcached, pensado para reemplazar ambos sin cambios.

Alternativa open source a:Redis

Estrellas
31,798
Forks
1,283
Issues abiertos
276
Último commit
hace 8 horas

¿Qué es?

Dragonfly es un almacén de datos en memoria que implementa los protocolos de Redis y Memcached, por lo que los clientes y las aplicaciones existentes pueden conectarse sin cambios en el código. Está escrito en C++ y usa una arquitectura sin recursos compartidos que distribuye el espacio de claves entre los hilos, lo que permite que una instancia use varios núcleos de CPU, en lugar de depender de un solo hilo, como suele hacer un proceso de Redis.

El proyecto admite cargas de trabajo de caché y de tipo clave-valor, con un modo adaptativo de expulsión de caché que se activa mediante una opción, expiración basada en TTL y un mecanismo de snapshots para copias de seguridad. Los snapshots se pueden programar con una expresión cron. Dragonfly también expone métricas compatibles con Prometheus y una consola HTTP integrada en el puerto principal, que se puede desactivar en implementaciones expuestas a redes que no sean de confianza.

El README presenta comparaciones de benchmarks con Redis y Memcached en instancias de AWS, con cifras de rendimiento y latencia que varían según el tamaño de la instancia y la carga de trabajo. Esos datos provienen de pruebas del propio proyecto, así que conviene verificarlos con tu propia carga de trabajo.

Funciones clave

  • 01Compatible con los protocolos de Redis y Memcached, para que los clientes existentes funcionen sin cambios en el código.
  • 02Diseño multihilo que distribuye las claves entre los hilos para usar varios núcleos de CPU.
  • 03Modo adaptativo de expulsión de caché que elimina elementos cuando la memoria se acerca al límite.
  • 04Snapshots programados con sintaxis cron y métricas compatibles con Prometheus.
  • 05Consola HTTP integrada en el puerto principal, que se puede desactivar.

Casos de uso

  • Reemplazar una implementación de Redis que se haya convertido en un cuello de botella por el uso de un solo hilo.
  • Usarlo como capa de caché delante de bases de datos con clientes de Redis o Memcached.
  • Ejecutar un almacén de datos clave-valor en instancias grandes de la nube con muchos núcleos.
  • Supervisar el estado de un almacén en memoria con Prometheus y Grafana.

Inicio rápido

  1. 1

    Obtén un binario de Dragonfly siguiendo la guía de inicio rápido de la documentación

  2. 2

    Ejecuta Dragonfly con las opciones del script de inicio de ejemplo

    ./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 usarlo

  • Los metadatos indican que la licencia es NOASSERTION, por lo que debes consultar directamente sus términos en el repositorio antes de usarlo.
  • Los plazos de expiración superiores a 2^28 ms se redondean al segundo más cercano, lo que puede no ser adecuado para todos los casos de uso.

Temas

Preguntas frecuentes

¿Qué es dragonfly?
Almacén de datos en memoria compatible con las API de Redis y Memcached, pensado para reemplazar ambos sin cambios. Dragonfly es un almacén de datos en memoria que implementa los protocolos de Redis y Memcached, por lo que los clientes y las aplicaciones existentes pueden conectarse sin cambios en el código. Está escrito en C++ y usa una arquitectura sin recursos compartidos que distribuye el espacio de claves entre los hilos, lo que permite que una instancia use varios núcleos de CPU, en lugar de depender de un solo hilo, como suele hacer un proceso de Redis.
¿dragonfly es gratuito? ¿Qué licencia tiene?
dragonfly es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿dragonfly sigue mantenido?
Mantenimiento activo. El último commit de dragonfly fue el 19 oct 2026.
¿Para qué puedo usar dragonfly?
Reemplazar una implementación de Redis que se haya convertido en un cuello de botella por el uso de un solo hilo. Usarlo como capa de caché delante de bases de datos con clientes de Redis o Memcached. Ejecutar un almacén de datos clave-valor en instancias grandes de la nube con muchos núcleos. Supervisar el estado de un almacén en memoria con Prometheus y Grafana.
¿Cómo se instala dragonfly?
Obtén un binario de Dragonfly siguiendo la guía de inicio rápido de la documentación Ejecuta Dragonfly con las opciones del script de inicio de ejemplo: ./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
¿Dónde consigo dragonfly?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dragonflydb/dragonfly

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados