Nesta página, falamos sobre o cache integrado do Cloud Storage. O Cloud Storage também é compatível com CDNs de terceiros.
Visão geral
Quando um objeto do Cloud Storage é armazenado em cache, os dados do objeto são armazenados 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 pode se comportar como uma rede de fornecimento de conteúdo (CDN) sem
nenhum trabalho da sua parte, porque os dados de um objeto são armazenados em cache na
rede do Cloud Storage se os metadados Cache-Control
estiverem definidos para
permitir o armazenamento em cache e os seguintes critérios forem atendidos:
- O objeto é acessível publicamente.
- O objeto não está armazenado em um bucket com o recurso Pagamentos do requerente ativado e não está em um perímetro de serviço de nuvem privada virtual.
- O objeto não é criptografado usando chaves de criptografia gerenciadas pelo cliente ou chaves de criptografia fornecidas pelo cliente.
O Cloud Storage respeita valores padrão para Cache-Control
,
como estes:
public
: o objeto pode ser armazenado em cache.private
: o objeto não será armazenado em cache pelo Cloud Storage, mas poderá ser armazenado no cache local de um requerente.no-cache
: o objeto pode ser armazenado em cache, mas não pode ser usado para atender a solicitações futuras, a menos que seja validado primeiro pelo Cloud Storage.no-store
: o objeto não pode ser armazenado em cache.max-age=TIME_IN_SECONDS
: o período em que um objeto pode ser armazenado em cache antes de ser considerado desatualizado. É possível definirmax-age
como qualquer período. Objetos desatualizados não são exibidos a partir de caches, exceto em circunstâncias especiais.
Para definir os metadados Cache-Control
de um objeto, consulte
Como editar metadados de objeto.
Comportamento de armazenamento em cache integrado com políticas de negação do IAM
Quando há uma política de negação do IAM no nível da organização que restringe o acesso de leitura para um objeto do identificador do principal allUsers
, o armazenamento em cache integrado será desativado para o objeto, mesmo que haja uma política do IAM no nível do bucket concedendo acesso de leitura ao objeto para allUsers
.
No entanto, se a política de negação de IAM restringir apenas usuários individuais,
o armazenamento em cache integrado permanecerá ativado para o 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 comopublic
commax-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.
A seguir
- Leia mais sobre os
Cache-Control
metadados. - Saiba mais sobre as diretivas
Cache-Control
RFC.