Almacén de datos en memoria compatible con las API de Redis y Memcached, pensado para reemplazar ambos sin cambios.
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
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
Inicializa y actualiza las dependencias de los submódulos
git submodule init && git submodule update - 3
Compila KeyDB
make - 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
Servidor de estructuras de datos clave-valor de alto rendimiento y compatible con Redis, bifurcado de Redis para cargas de trabajo de caché y en tiempo real.
Un almacén de caché remoto en C# que usa el protocolo Redis RESP, para que los clientes Redis existentes puedan conectarse sin cambios.
Servidor de clave-valor en memoria compatible con Redis y Valkey, escrito en Rust, con búsqueda integrada de texto completo y vectores.
Una base de datos NoSQL distribuida de tipo clave-valor que usa RocksDB para almacenar los datos y habla el protocolo Redis, para que puedan conectarse los clientes Redis existentes.
Biblioteca de almacenamiento clave-valor para Node.js con caducidad TTL y backends intercambiables como Redis, MongoDB, SQLite y PostgreSQL.