Pesquisa de site

O que é um Cache?


Um cache é um local de armazenamento de dados temporário que armazena cópias de dados ou arquivos acessados com frequência para fornecer acesso mais rápido a software ou hardware. Computadores, dispositivos móveis, navegadores da Web e outros aplicativos usam cache para acelerar a recuperação de dados.

Os caches permitem acesso mais rápido a esses dados, eliminando a necessidade de recarregá-los sempre que o dispositivo/aplicativo precisar. Os dados armazenados em cache são reutilizáveis e podem ser recuperados diretamente.

Como funciona um cache?

Um cache funciona armazenando temporariamente dados usados com frequência, o que fornece aos dispositivos e aplicativos uma maneira mais rápida de acessá-los.

Os caches armazenam cópias de dados que estão prontamente disponíveis e de tamanho pequeno. Essa funcionalidade elimina a necessidade de pesquisar bancos de memória maiores, o que leva muito mais tempo.

A maneira precisa como um cache funciona depende do tipo de software ou hardware que o está usando.

Tipos de caches

Muitos dispositivos e tecnologias diferentes usam o cache para otimizar o desempenho do sistema. A maneira como eles usam e armazenam o cache varia entre os dispositivos.

Abaixo estão exemplos dos principais tipos de caches.

1. Cache da CPU (Unidade Central de Processamento)

Computadores desktop, laptops, smartphones e tablets usam Unidades Centrais de Processamento (CPUs) para processar e executar instruções.

Esses dispositivos precisam de acesso frequente a dados específicos para executar processos e aplicativos com eficiência. Eles usam memória de acesso aleatório (RAM) interna para acessar esses dados mais rapidamente.

A RAM armazena temporariamente os dados que estão sendo usados ativamente pela CPU para executar os processos atuais.

Sem RAM, esses dispositivos, por exemplo, um computador, teriam que acessar esses dados de outros componentes, como o disco rígido ou a unidade de estado sólido (SSD), que oferecem armazenamento de longo prazo, mas também são muito mais lentos.

Existem dois tipos de RAM: RAM dinâmica (DRAM) e RAM estática (SRAM).

A DRAM armazena memória usando capacitores que devem ser atualizados constantemente para reter dados. Como esses capacitores são alimentados por eletricidade, a DRAM perde seus dados toda vez que o computador é desligado.

A SRAM não precisa ser atualizada constantemente, tornando-a muito mais rápida e cara que a DRAM. A SRAM é usada para cache da CPU.

Os computadores usam o cache da CPU, também chamado de memória cache, para funcionar com mais eficiência. Um cache de CPU é um chip de memória que armazena temporariamente dados que a CPU acessa com frequência da RAM.

A CPU verifica o cache de memória primeiro quando precisa acessar dados para processos em execução ativa. Um 'acerto de cache' ocorre quando os dados necessários são armazenados em cache, otimizando o desempenho.

Um 'erro de cache' ocorre quando os dados não são armazenados em cache. Os erros de cache causam latência, pois a CPU deve acessar os dados mais abaixo na hierarquia de memória, por exemplo, da RAM.

Hierarquia de memória

A hierarquia de memória estrutura a memória do computador com base em seu tempo de resposta. O cache está no topo da pirâmide, pois é o mais rápido.

Sua velocidade se deve em parte ao fato de estar localizado muito mais próximo da CPU do que outros tipos de memória. Ele pode até ser integrado diretamente ao chip da CPU. Os caches também têm a menor capacidade de armazenamento, o que reduz a latência.

O custo e a velocidade de cada tipo de memória dependem do tamanho da capacidade, conforme refletido na hierarquia de memória mostrada abaixo.

Níveis de cache

O cache da CPU é classificado em três níveis diferentes: Nível 1 (L1), Nível 2 (L2) e Nível 3 (L3). Os níveis são ordenados da velocidade mais alta e do menor tamanho para a velocidade mais baixa e o maior tamanho.

  • Cache de nível 1: O cache L1 geralmente é integrado ao chip da CPU e oferece a velocidade mais alta. A CPU acessa o cache L1 com mais frequência.
  • Cache de nível 2: L2 está localizado entre a CPU e a RAM e é maior que o cache L1, mas mais lento. A CPU acessa L2 quando os dados necessários não são encontrados em L1.
  • Cache de nível 3: L3 é o nível de cache mais lento e o maior. A CPU acessa L3 quando os dados necessários não são encontrados em L1 ou L2. Se houver uma falha de cache, a CPU pesquisará a RAM em seguida, seguida pela memória principal ou cache de disco.

2. Cache da Web (ou cache HTTP)

Os caches da Web armazenam cópias dos dados do site para otimizar o desempenho do site por meio de cabeçalhos HTTP que contêm instruções de cache para solicitações e respostas da Web.

Existem dois tipos principais de cache da web:

Cache do cliente da Web (ou cache do navegador da Web)

O cache do navegador da Web permite que os sites carreguem mais rapidamente, armazenando conteúdo acessado com frequência de servidores da Web. Na primeira vez que um usuário (cliente) visita um site, o navegador deve recuperar todos os ativos da Web (por exemplo, CSS, HTML, JavaScript e arquivos de imagem) do servidor de origem.

>

O cache da web armazena cópias desses dados localmente, por exemplo, no disco rígido ou SSD. Na próxima vez que o usuário visitar o site, o navegador recuperará os ativos da Web do cache em vez do servidor de origem.

Recuperar esses ativos localmente é muito mais rápido do que solicitar dados do servidor de origem novamente. O navegador só precisa solicitar conteúdo atualizado do servidor web, reduzindo o congestionamento da rede e melhorando a capacidade de resposta.

Os navegadores usam cabeçalhos de cache HTTP para determinar algoritmos de cache e políticas como Time to Live (TTL). TTL é a duração que o conteúdo pode ser servido por meio do cache antes que os ativos expirem e precisem ser recuperados do servidor Web novamente.

Cache do servidor web

O cache do servidor Web funciona de forma semelhante ao cache do navegador da Web, exceto que o cache está localizado no lado do servidor e não no lado do cliente. Os servidores Web podem usar caches de proxy reverso como Apache e Nginx para armazenar cópias de ativos da Web do servidor para facilitar as solicitações do usuário.

Assim como o cache do navegador, o cache do servidor da Web permite que os sites carreguem mais rapidamente, pois o usuário não precisa acessar os dados diretamente do servidor da Web. O cache da Web também reduz a carga no servidor da Web, otimizando o desempenho e a experiência do usuário.

3. Cache do banco de dados

A maioria dos bancos de dados, como MongoDB e MySQL, usa cache interno para eliminar consultas repetitivas de banco de dados. Os bancos de dados podem armazenar em cache as consultas de pesquisa mais recentes para permitir tempos de recuperação mais rápidos.

O cache do banco de dados também alivia a pressão do próprio banco de dados, pois ele não precisa processar as mesmas consultas consecutivamente.

4. Cache da rede de distribuição de conteúdo (CDN)

Uma rede de entrega de conteúdo (CDN) é uma rede de servidores proxy distribuídos geograficamente que ajudam a melhorar os tempos de carregamento do site, armazenando conteúdo mais próximo dos locais de IP dos usuários.

Quando um usuário solicita conteúdo de um servidor Web, o proxy responderá ao usuário em nome do servidor Web se uma cópia em cache estiver disponível.

Os servidores proxy reduzem a latência e o número de solicitações que o servidor de origem recebe interceptando solicitações de usuários.

5. Cache do Sistema de Nomes de Domínio (DNS)

Quando um usuário digita um domínio, como example.com, o navegador da Web usará o resolvedor de stub do sistema operacional do usuário para traduzir o nome de domínio do site em um endereço IP. Se o resolvedor de stub não souber a tradução, ele retransmitirá a solicitação de dados DNS para resolvedores recursivos mais complicados, que geralmente são operados por provedores de serviços de Internet (ISPs), governos e organizações como Google, OpenDNS e Quad9.

Depois que o resolvedor recursivo recebe a solicitação do usuário, ele envia suas próprias solicitações de DNS para vários servidores de nomes autoritativos até encontrar uma resposta definitiva.

Os servidores de nomes de domínio mantêm um diretório de nomes de domínio e os convertem em endereços IP, assim como um catálogo telefônico comum traduz nomes em números de telefone.

O resolvedor de stub e os resolvedores recursivos armazenarão em cache a conversão do nome de domínio para o endereço IP para melhorar o desempenho. Na próxima vez que um usuário visitar um site, ele não precisará consultar os servidores de nomes por um determinado período de tempo, conhecido como tempo de vida (TTL). Quando o TTL expira, o processo é repetido.

Benefícios do cache

Velocidades aprimoradas

O cache permite tempos de carregamento mais rápidos, pois cópias de dados acessados com frequência são armazenadas localmente e prontamente disponíveis para o usuário. Por exemplo, os caches do navegador da Web armazenam ativos da Web localmente, o que é mais rápido do que fazer solicitações repetidas do servidor da Web.

Congestionamento de rede reduzido

O cache reduz o congestionamento da rede em dispositivos como servidores web e bancos de dados, pois os usuários podem acessar cópias locais dos dados solicitados. Ao reduzir o número de solicitações de banco de dados/servidor, o cache reduz a latência e melhora o desempenho do sistema.

Acesso off-line

Os caches podem permitir que os usuários acessem páginas da Web e outros recursos online, como aplicativos móveis, sem conexão com a Internet, armazenando dados acessados com frequência localmente.

Desvantagens do cache

Problemas de desempenho

Às vezes, os arquivos temporários não são salvos/abertos corretamente a partir de um cache. Arquivos de cache corrompidos geralmente levam a problemas de desempenho, fazendo com que aplicativos ou páginas da Web travem ou exibam elementos incorretamente.

Atualizações atrasadas

Embora os caches devam oferecer apenas armazenamento temporário de dados reutilizáveis, às vezes eles mantêm versões mais antigas de dados que já foram atualizados, por exemplo, em uma página da web. Nesse caso, o usuário precisaria limpar o cache do navegador para permitir que a versão mais recente fosse exibida.

Riscos de segurança cibernética

Como cada cache armazena cópias de dados usados recentemente, eles aumentam as superfícies de ataque dos usuários, expondo-os a um maior risco de segurança cibernética.

Por exemplo, os caches do navegador da Web armazenam cookies, histórico de transações, informações de identificação pessoal (PII) e outros dados confidenciais, como nomes de usuário e senhas. Essas informações podem ser facilmente exploradas por meio de violações de dados, pois mesmo os caches HTTPS não armazenam versões criptografadas de arquivos localmente. O uso de redes Wi-Fi públicas sem limpar o cache do navegador aumenta essa vulnerabilidade, pois elas geralmente são executadas com pouca segurança de rede.

Os caches do Sistema de Nomes de Domínio (DNS) também são vulneráveis a ataques cibernéticos, como envenenamento de cache DNS (ou falsificação de DNS). O envenenamento do cache DNS ocorre quando informações falsas de DNS são introduzidas no cache de um resolvedor de DNS. Essas informações fazem com que as consultas de DNS retornem uma resposta incorreta, o que geralmente redireciona os usuários de um site legítimo para um site malicioso projetado para roubar informações confidenciais ou instalar malware.

Por que você deve limpar seu cache

Embora o cache beneficie os usuários por meio de tempos de carregamento e experiência do usuário aprimorados, desvantagens como riscos de segurança cibernética fornecem motivos suficientes para limpar o cache quando necessário para melhorar a segurança dos dados.

Como limpar o cache

Abaixo estão as instruções sobre como limpar o cache da web e o cache do aplicativo de navegadores e dispositivos populares.

Google Chrome

O Google Chrome tem uma opção de 'limpar dados de navegação' que permite aos usuários limpar os dados em cache.

Clique aqui para saber como limpar os dados de navegação do Google Chrome em um computador.

Clique aqui para saber como limpar os dados de navegação do Google Chrome no iPhone e iPad.

Clique aqui para saber como limpar os dados de navegação do Google Chrome no Android.

Mozilla Firefox

O Firefox permite que os usuários limpem o cache no menu Preferências.

Clique aqui para saber como limpar o cache no Firefox.

Safári da Apple

O Safari permite que os usuários limpem o cache no menu Configurações.

Clique aqui para saber como limpar o cache no Safari.

Apple iOS

O Apple iOS permite que os usuários limpem o cache de aplicativos de terceiros no menu Configurações.

Clique aqui para saber como limpar o cache do aplicativo no Apple iOS.

Andróide

O Android permite que os usuários limpem o cache de aplicativos de terceiros no menu Configurações.

Clique aqui para saber como limpar o cache do aplicativo no Android.

Artigos relacionados