Alterar modos de cache

Esta página fornece instruções para alterar os modos de cache com o Cloud CDN. Os modos de cache permitem configurar como o Cloud CDN armazena conteúdo em cache.

Antes de começar

  • Leia sobre modos de cache e conteúdo estático.

  • Verifique se o Cloud CDN está ativado. Para instruções, consulte Como usar o Cloud CDN.

  • Se necessário, atualize para a versão mais recente da CLI do Google Cloud:

    gcloud components update
    

Como definir o modo de cache

Para configurar os modos de cache para um back-end ativado para o Cloud CDN, faça o seguinte:

Console

  1. No console do Google Cloud , acesse a página Balanceamento de carga.

    Acesse a página Balanceamento de carga

  2. Clique no nome do balanceador de carga de aplicativo externo.
  3. Clique em Editar .
  4. Em Configuração de back-end, selecione um back-end e clique em Editar .
  5. Verifique se a opção Ativar o Cloud CDN está selecionada.
  6. Em Modo de cache, selecione uma das seguintes opções:
    • Armazene em cache o conteúdo estático (recomendado): são recursos da Web que não são alterados para cada usuário. O conteúdo estático é baseado no Content-Type na resposta. Para mais informações, consulte conteúdo estático.
    • Use configurações de origem com base em cabeçalhos Cache-Control: respostas de cache com diretivas de cache válidas nos cabeçalhos de resposta.
    • Force cache de todo o conteúdo: armazene em cache todo o conteúdo veiculado pela origem, ignorando todas as diretivas private ou no-store.
  7. Clique em Salvar.

gcloud

Para serviços de back-end, use o comando gcloud compute backend-services create ou gcloud compute backend-services update com a sinalização --cache-mode.

Para buckets de back-end, use o comando gcloud compute backend-buckets create ou gcloud compute backend-buckets update com a sinalização --cache-mode.

gcloud compute backend-services (create | update) BACKEND_SERVICE_NAME
    --cache-mode=CACHE_MODE
gcloud compute backend-buckets (create | update) BACKEND_BUCKET_NAME
    --cache-mode=CACHE_MODE

Substitua CACHE_MODE por um dos seguintes:

  • CACHE_ALL_STATIC (padrão): armazena em cache automaticamente o conteúdo estático. As respostas marcadas como não armazenáveis em cache (diretiva private ou no-store nos cabeçalhos de resposta Cache-Control) não são armazenadas. Para armazenar conteúdo dinâmico em cache, o conteúdo precisa ter cabeçalhos de armazenamento em cache válidos.

  • USE_ORIGIN_HEADERS: exige a origem para definir cabeçalhos de armazenamento em cache válidos para armazenar conteúdo em cache. As respostas sem esses cabeçalhos não são armazenadas em cache na borda do Google e exigem uma viagem completa à origem em todas as solicitações, podendo afetar o desempenho e aumentar a carga no servidor de origem.

  • FORCE_CACHE_ALL: armazena em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando a diretiva private ou no-store nos cabeçalhos de resposta Cache-Control. Isso pode resultar no armazenamento em cache de conteúdo particular por usuário (identificável do usuário). Só ative isso em back-ends que não disponibilizam conteúdo particular ou conteúdo dinâmico, como buckets do Cloud Storage. Não ative em back-ends que estejam veiculando conteúdo privado ou dinâmico.

API

Para buckets de back-end, use a chamada de API Method: backendBuckets.insert ou Method: backendBuckets.update.

Para serviços de back-end, use a chamada de API Method: backendServices.insert ou Method: backendServices.update.

Use uma das seguintes chamadas de API:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

Adicione o seguinte snippet ao corpo da solicitação JSON:

"cdnPolicy": {
  "cacheMode": (CACHE_ALL_STATIC | USE_ORIGIN_HEADERS | FORCE_CACHE_ALL)

Substitua CACHE_MODE por um dos seguintes:

  • CACHE_ALL_STATIC (padrão): armazena automaticamente em cache o conteúdo estático caso a origem não defina cabeçalhos de armazenamento em cache válidos. As respostas marcadas como não armazenáveis em cache (diretiva private ou no-store nos cabeçalhos de resposta Cache-Control) não são armazenadas. Para armazenar conteúdo dinâmico em cache, o conteúdo precisa ter cabeçalhos de armazenamento em cache válidos.

  • USE_ORIGIN_HEADERS: exige a origem para definir cabeçalhos de armazenamento em cache válidos para armazenar conteúdo em cache. As respostas sem esses cabeçalhos não são armazenadas em cache na borda do Google e exigem uma viagem completa à origem em todas as solicitações, podendo afetar o desempenho e aumentar a carga no servidor de origem.

  • FORCE_CACHE_ALL: armazena em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando a diretiva private ou no-store nos cabeçalhos de resposta Cache-Control. Isso pode resultar no armazenamento em cache de conteúdo particular por usuário (identificável do usuário). Ative isso somente em back-ends que não disponibilizam conteúdo particular ou dinâmico, como buckets do Cloud Storage.