Cache-entenda-o-dispositivo-de-acesso-rapido

Cache: Entenda o dispositivo de acesso rápido

segunda-feira, 23 de março de 2020 | Comentários

Escrito por

Você certamente já sentiu na pele o incômodo que um site lento traz a navegação de um site. E você não é o único: 64% dos usuários deixam uma página se ela não carregar em menos de 2 segundos.

É nesse cenário que o termo cache vem ganhando cada vez mais popularidade e importância.

Isso porque ele consiste em uma área de armazenamento onde dados e processos utilizados com frequência são guardados para garantir um acesso mais rápido no futuro. Poupando, desta forma, tempo e uso desnecessário de hardware.

Conheça abaixo mais sobre o cache, incluindo seu objetivo e tipos mais comuns!

O que é e qual o objetivo do cache?

Cache é uma tecnologia que, inicialmente, foi definida como um hardware. Hoje, ele está mais ligado ao desenvolvimento de sistemas, inclusive para web.

Ele se refere a um espaço de armazenamento de dados que podem vir a ser utilizados no futuro. Ele está presente em diversos ambientes e ferramentas, como:

  • Aplicativos;
  • Banco de dados;
  • Ambientes híbridos;
  • Placa-mãe;
  • Disco rígido;
  • DNS;
  • CDN.

Independentemente de qual tipo e de como funcionam, todos os caches possuem um objetivo em comum: facilitar e agilizar a entrega de informações. Ou seja, eles simplificam e agilizam o acesso e a entrega de determinado conteúdo.

Principais tipos de caches

Existem diversos tipos de caches nas máquinas e aparelhos que utilizamos no cotidiano. São eles que garantem a velocidade e, principalmente, a entrega das informações desejadas. Conheça os tipos mais comuns:

Memória cache do hardware

É um tipo de memória de acesso extremamente rápido que começou a ser utilizado na época dos PCs 386. Ele é responsável por guardar os endereços de memórias mais acessados pelo processador e fazer com que eles não fiquem muito tempo ociosos, buscando os endereços diretamente da memória RAM.

Atualmente, a maioria dos processadores já trazem a memória cache embutida, não necessitando de ajustes na programação.

Database Cache

Outro cache muito utilizado é o de banco de dados. Nele, é possível, por exemplo, cachear as consultas mais frequentes realizadas numa base de dados.

Algumas soluções, ainda, criam uma espécie de camada intermediária de dados para que as consultas possam ser realizadas nela.

Web Cache

Esse é um dos caches mais conhecidos. Afinal, quem nunca ouviu frases como:

  • A falta de acesso à web é problema de cache;
  • Já corrigi esse erro, porém a sua página está no cache;
  • Já limpou o cache para ver se a página funciona?

Há quem diga que o Web Cache se tornou a desculpa mais utilizada pelos desenvolvedores web. Porém, na maioria dos casos, o problema da falta de acesso está realmente vinculado ao cache.

Aqui, os caches podem ser armazenados de 2 formas distintas. São elas:

1. Local Cache

São aqueles que são armazenados junto ao cliente, através do seu navegador. Sua missão é garantir que o site seja carregado mais rapidamente.

Mas como eles fazem isso? Guardando na máquina algumas informações de quando o site foi visitado. Isso faz com que, no momento do novo acesso, o navegador apresente as informações que ele já possui – ao invés de requisitar esses arquivos do site no servidor.

Todo esse processo deve ser controlado pelo desenvolvedor, que é quem vai definir a sua política de armazenamento em cache através do “Cache Control”. Este HTTP Header comanda como o cache das informações deve se comportar.

Para fazer isso, existem 2 diretivas:

  1. De Requisição: São usadas pelo cliente em uma requisição HTTP. Exemplo dessa diretiva são o Only-if-cached, Max-stale, Min-fresh;
  2. De Resposta: São usadas pelo servidor em uma resposta HTTP. Alguns exemplos são Public, Private, S-maxage e must-revalidate.

Algumas diretivas são consideradas de resposta e requisição, como:

  • No-cache;
  • No-store;
  • No-transform;
  • Max-age.

Uma informação importante: o Local Cache não atua exclusivamente em navegadores. Os smartphones, por exemplo, também armazenam muitos megabytes em arquivos de cache, permitindo que a informação seja acessada de forma instantânea. Neste caso, o ambiente é controlado pelo usuário, que pode remover e apagar dados quando ele bem entender.

2. Cache Server

Do lado do servidor, também existem formas de se cachear uma pasta ou um resultado. Dentre as mais comuns, destaca-se o armazenamento de páginas dinâmicas de forma estática.

Para entender o seu funcionamento, imagine que você é responsável pelo site de uma empresa de alimentos. Cada produto é organizado em categorias e subcategorias e é essencial que, na home, diversas dessas informações sejam apresentadas aos visitantes.

Se cada vez que um usuário acessar o site ele tiver que gerar todo o HTML da página partindo do zero, isso demandaria um alto processamento do servidor e diversas consultas ao banco de dados.

Consequentemente, demandaria um custo alto em infraestrutura para suportar todas as requisições simultâneas. E, mesmo assim, é muito provável que seu site não seja entregue na velocidade que o usuário espera.

Para evitar problemas nesse sentido, esse tipo de cache mantém uma página ou alguns pedaços de HTML estáticos na página inicial, ou em qualquer outra página, por um determinado período de tempo.

Sendo assim, quando o usuário acessa a página, rapidamente recebe o HTML que já estava processado e armazenado.

É importante destacar que, independentemente do tipo de cache, o principal objetivo é facilitar e agilizar o acesso às informações. Afinal, as pessoas estão com cada vez menos tempo e precisam de dados em tempo real.

Junto com o cache, quem também é essencial para garantir o acesso às informações é o API Restful. Nós já abordamos esse assunto em outro post e recomendamos muito a leitura!

Conseguiu entender um pouco sobre cache? Para entrar mais a fundo no conteúdo, corre para o Código Fonte TV. Lá tem um vídeo ainda mais completo sobre o assunto!

Assine a nossa newsletter e fique sempre por dentro sobre o mundo da tecnologia!


Tags:,
Comentários
Pressione Enter para pesquisar ou ESC para fechar