A colocar em cache

Esta página aborda a cache integrada do Cloud Storage. O Cloud Storage também é compatível com RFCs de terceiros.

Vista geral

Quando um objeto do Cloud Storage é colocado em cache, as cópias dos dados do objeto são armazenadas numa cache da Google ou da Internet para que o objeto possa ser disponibilizado mais rapidamente em pedidos futuros. Embora o armazenamento em cache possa melhorar o desempenho, também corre o risco de publicar conteúdo desatualizado se fizer atualizações ao seu objeto, mas uma cache continuar a publicar a versão anterior do objeto.

Colocação em cache integrada para o Cloud Storage

O Cloud Storage pode comportar-se como uma rede de fornecimento de conteúdo (RFC) sem qualquer ação da sua parte, porque os dados de um objeto são colocados em cache na rede do Cloud Storage se os respetivos Cache-Controlmetadados estiverem definidos para permitir a colocação em cache e os seguintes critérios forem cumpridos:

O Cloud Storage respeita os valores padrão para Cache-Control, como os seguintes:

  • public: o objeto pode ser armazenado em cache.

  • private: o objeto não é colocado em cache pelo Cloud Storage, mas pode ser colocado em cache na cache local de um requerente.

  • no-cache: o objeto pode ser colocado em cache, mas não pode ser usado para satisfazer pedidos futuros, a menos que seja primeiro validado pelo Cloud Storage.

  • no-store: não é possível colocar o objeto em cache.

  • max-age=TIME_IN_SECONDS: o período durante o qual um objeto pode ser armazenado em cache antes de ser considerado obsoleto. Pode definir o max-age para qualquer período. Os objetos desatualizados não são publicados a partir de caches, exceto em circunstâncias especiais.

Para definir os metadados Cache-Control de um objeto, consulte o artigo Editar metadados de objetos.

Comportamento de colocação em cache incorporado com políticas de negação do IAM

Quando existe uma política de negação de IAM ao nível da organização que restringe o acesso de leitura a um objeto do identificador principal allUsers, a colocação em cache incorporada é desativada para o objeto, mesmo que exista uma política de IAM ao nível do contentor que conceda acesso de leitura ao objeto a allUsers. No entanto, se a política de negação do IAM restringir apenas utilizadores individuais, a colocação em cache incorporada permanece ativada para o objeto.

Considerações sobre o desempenho

O desempenho pode ser muito melhor para objetos armazenáveis em cache publicamente. Se tiver um objeto a ser usado para controlar muitos clientes e, por isso, quiser desativar o armazenamento em cache para fornecer os dados mais recentes:

  • Em alternativa, considere definir os metadados Cache-Control do objeto como public com max-age de 15 a 60 segundos. A maioria das aplicações pode tolerar que um objeto esteja desatualizado durante alguns segundos em troca de melhorias no desempenho.

  • Use Cache-Control: no-store para um objeto para indicar que o objeto não deve ser colocado em cache para pedidos subsequentes em nenhuma cache.

O que se segue?