Ir para o conteúdo principal

Implementação de Redis para cache no Regulariza já

Data de elaboração 23/06/2021
Responsável pelo estudo Vinicius da Rosa Pereira
Equipe do estudo ACDC, Vinicius da Rosa Pereira,Lucas da Silva Andrade, Elias Braga
Alvo Regulariza Já
Origem

o que originou o estudo?

  • Melhoria: melhorar a performance e diminuir o tempo de resposta na listagem.
Objetivo Avaliar a possibilidade de utilização do datastore Redis (Remote Dictionary Server) para salvamento em cache. 
Observações

1. Introdução

O intuito é melhorar a performance e diminuir o tempo de resposta na listagem de solicitação. É esperado tempos de resposta inferiores a um milissegundo, permitindo muitas solicitações por segundo em tempo real.

2. Desenvolvimento

2.1 O que é o Redis 

O Redis, que significa Remote Dictionary Server, é um datastore de chave-valor rápido e de código aberto na memória, usado como banco de dados, cache, agente de mensagens e fila.

2.2 Benefícios do Redis

Todos os dados do Redis residem na memória, o que permite acesso a dados de baixa latência e alta taxa de transferência. Diferentemente dos bancos de dados tradicionais, os datastores na memória não exigem uma viagem ao disco, reduzindo a latência do mecanismo para microssegundos. Por causa disso, os datastores na memória podem suportar uma ordem de magnitude a mais de operações e tempos de resposta mais rápidos.

2.3 Pré-requisitos

  • Assinatura do Azure;
  • SDK do .NET Core;

2.4 Implementação

Para iniciar a implementação, precisamos fazer a instalação da biblioteca StackExchange.Redis.

image-1644875368569.png

A conexão com o Cache do Azure para Redis é gerenciada pela classe ConnectionMultiplexer. Essa classe deve ser compartilhada e reutilizada em todo o seu aplicativo cliente. 

image-1644875403584.png

 Após a instalação do pacote, podemos fazer uso do Redis com poucas linhas de comando, como no exemplo a seguir, que é gravado um objeto “Employee”.

image-1644875466057.png

Também é possível adicionar um TimeSpan, para monitorar o tempo de vida de um objeto.

image-1644875528955.png

Para recuperar o objeto salvo em cache, precisamos apenas do valor salvo como chave para a referência do objeto, assim como o tipo do objeto retornado e um conversor Json para montar o objeto.

image-1644875575042.png

3. Conclusão

Após a pesquisa e análise, foi identificado que o Redis é popularmente conhecido por uso em gerenciamento de sessões, jogos, análises em tempo real, entre outros, sendo sua proposta de uso no Regulariza já, apenas atualização em uma listagem.

Sendo assim, encontra-se inviável a sua aplicação, pois teria um alto custo de implementação para o conjunto de objetos necessários no regulariza já, o que não entra em balanço com a sua necessidade, até que seja identificada uma dor do cliente referente a tal.