Armazenamento em cache

Nesta página, você conhecerá as opções disponíveis para controlar como os objetos do Cloud Storage são armazenados em cache. Nesta página, o foco está no cache integrado do Cloud Storage e no Cloud CDN, mas ele também é compatível com CDNs de terceiros.

Visão geral

Quando um objeto do Cloud Storage é armazenado em cache, as cópias do objeto são armazenadas em um cache do Google ou da Internet para que seu objeto possa ser veiculado com mais rapidez em solicitações futuras. Embora o armazenamento em cache possa melhorar o desempenho, você também corre o risco de veicular conteúdo desatualizado se fizer atualizações no objeto, mas um cache continuará veiculando a versão antiga do objeto.

Armazenamento em cache integrado para o Cloud Storage

O Cloud Storage se comporta como uma rede de fornecimento de conteúdo (CDN, na sigla em inglês) sem nenhum trabalho de sua parte, já que os objetos legíveis publicamente são armazenados em cache na rede do Cloud Storage por padrão.

Os Cache-Control metadados de um objeto acessível publicamente determinam por quanto tempo os caches do navegador e da Internet podem armazenar seu objeto em cache. Por padrão, a configuração max-age para objetos públicos é de 3.600 segundos (1 hora). É possível definir max-age como qualquer período.

Se você revogar o acesso público a um objeto, ele ainda poderá ser acessado por meio de um cache da Internet, dependendo da configuração Cache-Control. Se max-age or definido como o padrão de 3.600 segundos ou mais, o objeto poderá persistir em um cache para essa duração.

Para definir os metadados Cache-Control, consulte Como editar metadados de objeto.

Considerações sobre desempenho

O desempenho pode ser muito melhor para objetos armazenáveis em cache público. Se você tiver um objeto que está sendo usado para controlar muitos clientes e quiser desativar o armazenamento em cache para fornecer os dados mais recentes, siga estas instruções:

  • Considere a possibilidade de definir os metadados Cache-Control do objeto como public com max-age de 15 a 60 segundos. A maioria dos aplicativos tolera um objeto por alguns segundos em troca de melhorias no desempenho.

  • Use Cache-Control: no-store em um objeto para indicar que ele não pode ser armazenado em cache nas solicitações subsequentes em qualquer cache.

Cloud Storage com Cloud CDN

Para ter o melhor desempenho ao entregar conteúdo aos usuários, recomendamos o uso do Cloud Storage com o Cloud CDN.

Para usar o Cloud CDN, é preciso usar o balanceamento de carga HTTP(S) externo com os buckets do Cloud Storage como back-end. Para um tutorial sobre como configurar um balanceador de carga HTTP(S) com um bucket do Cloud Storage, consulte Como hospedar um site estático.

Os modos de cache do Cloud CDN permitem aplicar uma configuração de armazenamento em cache unificada a todos os seus objetos. O Cloud CDN usa o conjunto de metadados Cache-Control nos seus objetos para determinar como eles serão armazenados em cache, a menos que você substitua os metadados Cache-Control usando um modo de cache ou Limite de TTL.

Os objetos armazenados em cache por meio do Cloud CDN não são armazenados em cache no cache do Cloud Storage.

Ao escolher entre o armazenamento em cache integrado do Cloud Storage e o Cloud CDN, considere o seguinte:

Recurso Cloud Storage Cloud CDN
Tamanho máximo do arquivo armazenável em cache 10 MiB 5 TiB (se o servidor de origem for compatível com solicitações de intervalo de bytes)
Expiração padrão do cache 1 hora 1 hora (configurável)
Suporte para domínios personalizados por HTTPS Não Sim
Invalidação de cache Não Sim

Considerações de preço

Em termos de preços, a escolha entre o armazenamento em cache integrado do Cloud Storage e o Cloud CDN depende da quantidade de dados que você exibe mensalmente, o que determina a quantidade de custos de rede incorridos.

  • Se você exibe menos de alguns GiB de dados armazenáveis em cache por mês, pode ser mais barato depender do armazenamento em cache interno do Cloud Storage. O armazenamento em cache do Cloud Storage pode gerar custos de rede maiores do que o Cloud CDN, porque os objetos armazenados em cache e não armazenados em cache são cobrados com o mesmo custo de saída. Isso significa que você paga o preço total pelas ocorrências em cache. No entanto, você paga apenas pelos custos de uso das operações e do armazenamento de dados associados ao Cloud Storage, em vez da combinação do Cloud Storage, do Cloud CDN e do balanceamento de carga HTTP(S).

  • Se você exibe regularmente 100 GiB ou mais de dados armazenáveis em cache por mês ou precisa usar a geração de registros por solicitação e cabeçalhos personalizados, pode ficar mais barato para você usar o Cloud CDN. Você será cobrado pela saída do Cloud Storage e pelos custos de armazenamento em cache do Cloud CDN e pelos preços de rede do Cloud CDN que são aplicados depois que o cache está cheio. A economia de custos de rede obtida com o Cloud CDN pode valer a pena os maiores custos operacionais associados à manutenção do balanceamento de carga HTTP(S) e do Cloud CDN com o Cloud Storage.

A seguir