Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Cliente C#/.NET para Redis


O cliente C# Redis do ServiceStack é um cliente C# simples, de alto desempenho e rico em recursos para Redis com suporte nativo e abstrações de alto nível para serializar POCOs e tipos complexos.

Há várias APIs diferentes disponíveis com o RedisClient implementando as seguintes interfaces:
  • Caching Provider - Se você estiver usando o Redis apenas como um cache, deverá vincular-se à interface comum do ServiceStack, pois já existem implementações In-Memory e Memcached disponíveis no ServiceStack, permitindo que você alterne facilmente de provedores
  • IRedisNativeClient / Async - Para aqueles que desejam um acesso de byte bruto de baixo nível (onde você pode controlar sua própria serialização/desserialização) que mapeiam 1:1 com operações Redis com o mesmo nome.

Na maioria dos casos, se você precisar de acesso à funcionalidade específica do Redis, convém vincular à interface abaixo:
  • IRedisClient / Async - Fornece uma API mais amigável e descritiva que permite armazenar valores como strings (codificação UTF8).
  • APIs de cliente genéricas do Redis - criadas com redis.As<T>() - retorna um 'cliente fortemente tipado' que fornece uma interface tipada para todas as operações de valor redis que funcionam em qualquer tipo C#/.NET POCO.

As interfaces funcionam perfeitamente com qualquer IOC e permitem que a lógica do seu aplicativo se vincule a interfaces sem implementação que podem ser facilmente simuladas e substituídas.

Uma visão geral da hierarquia de classes para os clientes C# Redis se parece com:
RedisTypedClient (POCO) > RedisClient (string) > RedisNativeClient (raw byte[])

Com cada cliente fornecendo diferentes camadas de abstração:
  • O RedisNativeClient expõe byte[] bruto apis e não faz empacotamento e passa todos os valores diretamente para redis.
  • O RedisClient assume string valores e simplesmente converte strings em bytes UTF8 antes de enviar para o Redis
  • O RedisTypedClient fornece uma interface genérica que permite adicionar valores POCO. Os POCOs são serializados usando ServiceStack.Text, que é então convertido em bytes UTF8 e enviado para o Redis.

Visão geral da API #