Almacén de datos en memoria compatible con las API de Redis y Memcached, pensado para reemplazar ambos sin cambios.
microsoft/garnet
Un almacén de caché remoto en C# que usa el protocolo Redis RESP, para que los clientes Redis existentes puedan conectarse sin cambios.
Alternativa open source a:Redis
- Estrellas
- 12,078
- Forks
- 720
- Issues abiertos
- 81
- Último commit
- hace 10 horas
¿Qué es?
Garnet es un almacén de caché remoto desarrollado por Microsoft Research. Usa el protocolo de conexión RESP, por lo que los clientes Redis sin modificar, como StackExchange.Redis en C#, pueden comunicarse con él. Está diseñado para ofrecer un alto rendimiento con muchas conexiones de clientes y lotes pequeños, y busca reducir la latencia para los clientes en implementaciones en la nube.
Garnet admite operaciones con cadenas de texto sin procesar y expiración de claves, además de HyperLogLog, bitmaps, conjuntos ordenados, listas, hashes y otros tipos de objetos. Permite transacciones con varias claves mediante transacciones RESP del lado del cliente, procedimientos almacenados del lado del servidor y extensiones personalizadas escritas en C#. También admite scripts Lua y ofrece TLS mediante SslStream de .NET.
La capa de almacenamiento, Tsavorite, puede distribuir los datos entre la memoria, SSD y almacenamiento en la nube, y admite puntos de control, recuperación y registro de operaciones para garantizar la durabilidad. El modo de clúster añade particionado, replicación y migración dinámica de claves, con comandos estándar de clúster Redis para su administración. Entre las funciones en vista previa se incluyen conjuntos vectoriales para búsquedas aproximadas de vecinos más cercanos e índices de rango sobre claves.
Funciones clave
- 01Funciona con clientes Redis sin modificar mediante el protocolo RESP.
- 02Admite cadenas, HyperLogLog, bitmaps, conjuntos ordenados, listas, hashes y tipos geoespaciales.
- 03Permite crear operaciones personalizadas y procedimientos almacenados en C#.
- 04Ofrece comunicación TLS y control de acceso básico.
- 05Distribuye el almacenamiento entre memoria, SSD y la nube, con puntos de control y recuperación.
- 06Ofrece un modo de clúster con particionado, replicación y migración de claves.
Casos de uso
- Reemplazar una caché Redis en un servicio .NET sin cambiar el código de cliente existente.
- Atender cargas de trabajo con mucha concurrencia, en las que numerosos clientes envían solicitudes pequeñas.
- Crear lógica de caché o tipos de datos personalizados en C# sobre un servidor compatible con Redis.
- Ejecutar un clúster de caché particionado y replicado en máquinas virtuales en la nube.
Inicio rápido
- 1
Sigue la guía de inicio de la documentación del proyecto
Antes de usarlo
- Vector Sets y Range Index están en fase de vista previa.
- El modo de clúster es pasivo y no implementa la elección de líder; un plano de control externo debe emitir los comandos del clúster.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es garnet?
- Un almacén de caché remoto en C# que usa el protocolo Redis RESP, para que los clientes Redis existentes puedan conectarse sin cambios. Garnet es un almacén de caché remoto desarrollado por Microsoft Research. Usa el protocolo de conexión RESP, por lo que los clientes Redis sin modificar, como StackExchange.Redis en C#, pueden comunicarse con él. Está diseñado para ofrecer un alto rendimiento con muchas conexiones de clientes y lotes pequeños, y busca reducir la latencia para los clientes en implementaciones en la nube.
- ¿garnet es gratuito? ¿Qué licencia tiene?
- garnet es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿garnet sigue mantenido?
- Mantenimiento activo. El último commit de garnet fue el 7 nov 2026.
- ¿Para qué puedo usar garnet?
- Reemplazar una caché Redis en un servicio .NET sin cambiar el código de cliente existente. Atender cargas de trabajo con mucha concurrencia, en las que numerosos clientes envían solicitudes pequeñas. Crear lógica de caché o tipos de datos personalizados en C# sobre un servidor compatible con Redis. Ejecutar un clúster de caché particionado y replicado en máquinas virtuales en la nube.
- ¿Cómo se instala garnet?
- Sigue la guía de inicio de la documentación del proyecto
- ¿Dónde consigo garnet?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/garnet
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.
Base de datos en memoria multihilo compatible con Redis y reemplazo directo, con replicación active-active y almacenamiento FLASH opcional.
Biblioteca de almacenamiento clave-valor para Node.js con caducidad TTL y backends intercambiables como Redis, MongoDB, SQLite y PostgreSQL.
Biblioteca cliente de .NET para conectarse a Redis y otros servidores compatibles con RESP, como Valkey, Garnet y AWS ElastiCache.
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.