Repolode
Snapchat

Snapchat/KeyDB

Base de datos en memoria multihilo compatible con Redis y reemplazo directo, con replicación active-active y almacenamiento FLASH opcional.

Alternativa open source a:Redis

Estrellas
12,498
Forks
678
Issues abiertos
295
Último commit
hace 17 días

¿Qué es?

KeyDB es un fork de Redis de alto rendimiento, centrado en el multithreading, la eficiencia de memoria y el throughput. Mantiene la compatibilidad total con el protocolo, los módulos y los scripts de Redis, por lo que las implementaciones existentes de Redis pueden cambiar a KeyDB sin modificar los clientes ni el código de la aplicación.

Además de las funciones de Redis, KeyDB incorpora replicación active-active, que permite que varias instancias acepten lecturas y escrituras mientras se mantienen sincronizadas, y simplifica el balanceo de carga basado en TCP y la conmutación por error a una instancia de reserva. También ofrece almacenamiento FLASH en SSD locales, expiración de subclaves y opciones para exportar e importar volcados a S3. Su diseño MVCC permite ejecutar comandos como KEYS y SCAN sin bloquear la base de datos.

KeyDB funciona en Linux y las compilaciones se prueban en ese sistema. El multithreading se controla con opciones como server-threads y los ajustes de balanceo de clientes. TLS está habilitado de forma predeterminada en las compilaciones.

Funciones clave

  • 01Gestión multihilo de solicitudes compatible con el protocolo, los módulos y los scripts de Redis.
  • 02Replicación active-active para que varias instancias puedan aceptar lecturas y escrituras.
  • 03Almacenamiento FLASH en SSD locales (experimental).
  • 04Expiración de subclaves y ejecución no bloqueante de KEYS y SCAN basada en MVCC.
  • 05Opciones para exportar e importar volcados a AWS S3.

Casos de uso

  • Reemplazar una implementación existente de Redis para conseguir mayor throughput con el mismo hardware.
  • Usar una capa de caché en la que varias instancias deban atender escrituras y lecturas de forma conjunta.
  • Reducir la cantidad de servidores al gestionar más carga por nodo.

Inicio rápido

  1. 1

    Instala las dependencias de compilación en 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. 2

    Inicializa y actualiza las dependencias de los submódulos

    git submodule init && git submodule update
  3. 3

    Compila KeyDB

    make
  4. 4

    Desde el directorio src, inicia el servidor con la configuración predeterminada

    ./keydb-server

Antes de usarlo

  • Solo se compila y prueba en Linux porque depende de Linux SO_REUSEPORT.
  • El almacenamiento FLASH es experimental (beta); úsalo con precaución.
  • No se ofrece soporte de pago; la ayuda se proporciona a través de los canales de la comunidad.

En colecciones

Temas

Preguntas frecuentes

¿Qué es KeyDB?
Base de datos en memoria multihilo compatible con Redis y reemplazo directo, con replicación active-active y almacenamiento FLASH opcional. KeyDB es un fork de Redis de alto rendimiento, centrado en el multithreading, la eficiencia de memoria y el throughput. Mantiene la compatibilidad total con el protocolo, los módulos y los scripts de Redis, por lo que las implementaciones existentes de Redis pueden cambiar a KeyDB sin modificar los clientes ni el código de la aplicación.
¿KeyDB es gratuito? ¿Qué licencia tiene?
KeyDB es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿KeyDB sigue mantenido?
Mantenimiento activo. El último commit de KeyDB fue el 22 oct 2026.
¿Para qué puedo usar KeyDB?
Reemplazar una implementación existente de Redis para conseguir mayor throughput con el mismo hardware. Usar una capa de caché en la que varias instancias deban atender escrituras y lecturas de forma conjunta. Reducir la cantidad de servidores al gestionar más carga por nodo.
¿Cómo se instala KeyDB?
Instala las dependencias de compilación en 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 Inicializa y actualiza las dependencias de los submódulos: git submodule init && git submodule update Compila KeyDB: make Desde el directorio src, inicia el servidor con la configuración predeterminada: ./keydb-server
¿Dónde consigo KeyDB?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Snapchat/KeyDB

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

Proyectos relacionados