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-lhe configurar a forma como a RFC de multimédia na nuvem armazena em cache o seu conteúdo.

Antes de começar

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

  • Certifique-se de que o Cloud CDN está ativado. Para obter instruções, consulte o artigo Usar o Cloud CDN.

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

    gcloud components update
    

Definir o modo de cache

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

Consola

  1. Na Google Cloud consola, aceda à página Equilíbrio de carga.

    Aceda à página Balanceamento de carga

  2. Clique no nome do seu Application Load Balancer externo.
  3. Clique em Editar .
  4. Em Configuração de back-end, selecione um back-end e clique em Editar .
  5. Certifique-se de que a opção Ativar RFC está selecionada.
  6. Em Modo de cache, selecione uma das seguintes opções:
    • Coloque conteúdo estático em cache (recomendado): o conteúdo estático são recursos Web que não se alteram para cada utilizador. O conteúdo estático baseia-se no Content-Type na resposta. Para mais informações, consulte o artigo sobre conteúdo estático.
    • Usar definições de origem com base nos cabeçalhos de controlo de cache: respostas de cache com diretivas de cache válidas nos cabeçalhos das respostas.
    • Forçar a colocação em cache de todo o conteúdo: coloca em cache todo o conteúdo publicado com êxito pela origem, ignorando todas as diretivas private ou no-store.
  7. Clique em Guardar.

gcloud

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

Para buckets de back-end, use o comando gcloud compute backend-buckets create ou gcloud compute backend-buckets update com a flag --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 uma das seguintes opções:

  • CACHE_ALL_STATIC (predefinição): coloca automaticamente em cache o conteúdo estático. As respostas marcadas como não armazenáveis em cache (diretivas private ou no-store nos cabeçalhos das respostas Cache-Control) não são armazenadas em cache. Para colocar conteúdo dinâmico em cache, o conteúdo tem de ter cabeçalhos de cache válidos.

  • USE_ORIGIN_HEADERS: requer que a origem defina cabeçalhos de colocação em cache válidos para colocar conteúdo em cache. As respostas sem estes cabeçalhos não são colocadas em cache no limite da rede da Google e requerem uma viagem completa à origem em cada pedido, o que pode afetar o desempenho e aumentar a carga no servidor de origem.

  • FORCE_CACHE_ALL: coloca em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando quaisquer diretivas private ou no-store nos cabeçalhos de resposta Cache-Control. Isto pode resultar no armazenamento em cache de conteúdo privado por utilizador (identificável pelo utilizador). Ative esta opção apenas em back-ends que não estejam a publicar conteúdo privado ou dinâmico, como contentores do Cloud Storage. Não ative esta opção em back-ends que estejam a publicar conteúdo privado ou dinâmico.

API

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

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

Use uma das seguintes chamadas da 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 fragmento ao corpo do pedido JSON:

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

Substitua CACHE_MODE por uma das seguintes opções:

  • CACHE_ALL_STATIC (predefinição): coloca automaticamente em cache o conteúdo estático se a origem não definir cabeçalhos de colocação em cache válidos. As respostas que são marcadas como não armazenáveis em cache (diretivas private ou no-store nos cabeçalhos de resposta Cache-Control) não são armazenadas em cache. Para colocar conteúdo dinâmico em cache, o conteúdo tem de ter cabeçalhos de colocação em cache válidos.

  • USE_ORIGIN_HEADERS: requer que a origem defina cabeçalhos de colocação em cache válidos para colocar conteúdo em cache. As respostas sem estes cabeçalhos não são colocadas em cache no limite da rede da Google e requerem uma viagem completa à origem em cada pedido, o que pode afetar o desempenho e aumentar a carga no servidor de origem.

  • FORCE_CACHE_ALL: coloca em cache todo o conteúdo (ou seja, respostas bem-sucedidas), ignorando quaisquer diretivas private ou no-store nos cabeçalhos de resposta Cache-Control. Isto pode resultar no armazenamento em cache de conteúdo privado por utilizador (identificável pelo utilizador). Só deve ativar esta opção em back-ends que não estejam a publicar conteúdo privado ou dinâmico, como contentores do Cloud Storage.