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.
microsoft/garnet
Um cache-store remoto em C# que usa o protocolo Redis RESP, permitindo que clientes Redis existentes se conectem sem alterações.
Alternativa open source a:Redis
- Estrelas
- 12,078
- Forks
- 722
- Issues abertas
- 81
- Último commit
- ontem
O que é?
Garnet é um cache-store remoto desenvolvido pela Microsoft Research. Ele adota o protocolo de comunicação RESP, permitindo que clientes Redis sem modificações, como o StackExchange.Redis em C#, se conectem a ele. O projeto busca alto throughput com muitas conexões de clientes e lotes pequenos, além de baixa latência para os clientes em implantações na nuvem.
Garnet oferece operações com strings brutas e expiração de chaves, além de HyperLogLog, bitmaps, sorted sets, listas, hashes e outros tipos de objetos. Transações com várias chaves podem ser feitas por meio de transações RESP no cliente, stored procedures no servidor e extensões personalizadas escritas em C#. Também há suporte a scripts Lua, e o TLS é fornecido pelo SslStream do .NET.
A camada de armazenamento, Tsavorite, pode distribuir dados entre memória, SSD e armazenamento em nuvem, além de oferecer checkpointing, recuperação e registro de operações para garantir durabilidade. O modo cluster adiciona sharding, replicação e migração dinâmica de chaves, com comandos padrão de cluster do Redis para gerenciamento. Os recursos em prévia incluem vector sets para busca aproximada de vizinhos mais próximos e índices de intervalo sobre chaves.
Recursos principais
- 01Funciona com clientes Redis sem modificações por meio do protocolo RESP.
- 02Oferece suporte a strings, HyperLogLog, bitmaps, sorted sets, listas, hashes e tipos geográficos.
- 03Permite criar operações personalizadas e stored procedures em C#.
- 04Oferece comunicação TLS e controle de acesso básico.
- 05Distribui o armazenamento entre memória, SSD e nuvem, com checkpointing e recuperação.
- 06Oferece modo cluster com sharding, replicação e migração de chaves.
Casos de uso
- Substituir um cache Redis em um serviço .NET e manter o código cliente existente.
- Atender cargas de trabalho com alta concorrência, em que muitos clientes enviam solicitações pequenas.
- Criar lógica de cache ou tipos de dados personalizados em C# sobre um servidor compatível com Redis.
- Executar um cluster de cache com sharding e replicação em VMs na nuvem.
Início rápido
- 1
Siga o guia de introdução na documentação do projeto
Antes de usar
- Vector Sets e Range Index estão em versão de prévia.
- O modo de cluster é passivo e não implementa a eleição de líder; um plano de controle externo deve emitir os comandos de cluster.
Em coleções
Tópicos
Perguntas frequentes
- O que é garnet?
- Um cache-store remoto em C# que usa o protocolo Redis RESP, permitindo que clientes Redis existentes se conectem sem alterações. Garnet é um cache-store remoto desenvolvido pela Microsoft Research. Ele adota o protocolo de comunicação RESP, permitindo que clientes Redis sem modificações, como o StackExchange.Redis em C#, se conectem a ele. O projeto busca alto throughput com muitas conexões de clientes e lotes pequenos, além de baixa latência para os clientes em implantações na nuvem.
- garnet é gratuito? Qual é a licença?
- garnet é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- garnet ainda é mantido?
- Manutenção ativa. O último commit de garnet foi em 6 de nov. de 2026.
- Para que posso usar garnet?
- Substituir um cache Redis em um serviço .NET e manter o código cliente existente. Atender cargas de trabalho com alta concorrência, em que muitos clientes enviam solicitações pequenas. Criar lógica de cache ou tipos de dados personalizados em C# sobre um servidor compatível com Redis. Executar um cluster de cache com sharding e replicação em VMs na nuvem.
- Como instalar garnet?
- Siga o guia de introdução na documentação do projeto
- Onde consigo garnet?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/garnet
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Servidor de estruturas de dados de alto desempenho e compatível com Redis, derivado do Redis, voltado para cache e cargas de trabalho em tempo real.
Banco de dados em memória multithread compatível com Redis e substituto direto, com replicação active-active e armazenamento FLASH opcional.
Biblioteca de armazenamento chave-valor para Node.js, com expiração por TTL e backends intercambiáveis, como Redis, MongoDB, SQLite e PostgreSQL.
Biblioteca cliente .NET para conectar a Redis e outros servidores compatíveis com RESP, como Valkey, Garnet e AWS ElastiCache.
Banco de dados NoSQL distribuído de chave-valor que usa RocksDB para armazenamento e fala o protocolo Redis, permitindo conectar clientes Redis existentes.