Repolode
microsoft

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