Skip to main content

Cache

O que é?

O cache é um sistema interno a aplicação, que permite o acesso rápido as informações mais acessadas em um período de tempo. Ele reduz o número de acessos ao banco de dados e permite que a latência da aplicação seja reduzida, tornando a experiência do usuário mais agradável. Estas informações são armazenadas em um banco chave-valor em memória e o utilizado no caso foi o Redis.

Implementação no Projeto

No projeto, cache foi implementado principalmente nas rotas de novas Requests, a fim de acelerar o fluxo dos enfermeiros e auxiliares. É esperado que aconteçam múltiplas requisições feitas por ambos usuários, além de, também, necessitarem de respostas do sistema o mais rápido o possível, dado o dinamismo das operações do hospital. É justificável, portanto, o uso do sistema de cache, uma vez que ele, somado à estrutura assíncrona da aplicação, cumpre uma necessidade dos usuários e, juntamente, otimiza o uso das rotas do Back-End e reduz o númeor de acessos ao Banco de Dados.

O Redis, serviço de cache utilizado, foi implementado como um microsserviço e é executado juntamente com os outros componentes da aplicação.

Ao receber requisições o Back-End verifica já existe o campo procurado no cache. Caso tenha, ele apenas verifica e retorna o valor, enquanto nos outros casos ele extrai os dados necessários do banco de dados e registra no cache. Como no exemplo abaixo:

cache

O sistema também foi implementado na atualização de status, já que um valor valor deve ser atribído ao cache, toda vez que um campo no banco de dados receber um valor novo.

cache

Além disso, os dados são registrados em formato de fluxo de bytes, a fim de facilitar o acesso, armazenamento e transformação dos dados.