L'annullamento della convalida della cache (o eliminazione definitiva della cache) è il processo di dichiarare i contenuti memorizzati nella cache non validi. In questo modo, i contenuti vengono rimossi dalla cache, garantendo che la richiesta successiva venga recuperata direttamente dal server di origine.
Media CDN supporta diversi modi per selezionare i contenuti di cui annullare la convalida, come indicato di seguito:
- Host e percorso dell'URL
- Prefisso URL (carattere jolly)
- Tag della cache, inclusi i tag integrati per
status,originecontent-type
Puoi combinare questi parametri di annullamento della convalida per individuare specifiche risposte memorizzate nella cache e ridurre al minimo il carico sull'origine durante il successivo riempimento della cache.
Sintassi di annullamento della convalida supportata
La sintassi di annullamento della convalida supportata è la seguente:
| Tipo | Sintassi | Esempio |
|---|---|---|
| Annullamento della convalida dell'host | Annulla la convalida delle risposte memorizzate nella cache per l'host specificato. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| Annullamento della convalida del percorso | Annulla la convalida delle risposte memorizzate nella cache per il percorso o il prefisso del percorso specificato. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| Annullamento della convalida dei tag della cache in base al codice di stato HTTP, al nome dell'origine o al tipo MIME |
Annulla la convalida delle risposte memorizzate nella cache con un tag corrispondente. Più tag vengono
trattati come un OR booleano.
|
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
Note:
- In una singola richiesta di annullamento della convalida è possibile specificare fino a 10 tag della cache.
- Puoi combinare
host,pathetagsin una singola richiesta di annullamento della convalida. Vengono trattati come unANDbooleano. - Quando vengono specificati più tag della cache, vengono trattati come un
ORbooleano. Ad esempio, se specifichi--tags="status=404,origin=staging-origin", tutti le risposte con un tag della cachestatus=404vengono invalidati, così come tutte le risposte con un tag della cacheorigin=staging-origin.
Tag della cache
I tag della cache (o chiavi surrogate) consentono di invalidare contenuti in base a metadati arbitrari.
Questi tag sono definiti da quanto segue:
- Impostazione dell'intestazione HTTP
Cache-Tagin una risposta di origine, con i tag specificati come elenco separato da virgole di valori. - Tag integrati basati sul codice di stato HTTP della risposta, sul tipo MIME dall'intestazione della risposta HTTP
Content-Typeo sul nome dell'origine da cui è stata recuperata la risposta.
Quando in una singola richiesta di annullamento della convalida vengono specificati più tag, questi vengono trattati come un OR booleano.
Considera il seguente esempio:
Hai i seguenti oggetti memorizzati nella cache:
- Oggetto memorizzato nella cache n. 1 con i tag
status=200,content-type=video/mp4 - Oggetto memorizzato nella cache n. 2 con i tag
status=404,content-type=text/plain - Oggetto memorizzato nella cache n. 3 con i tag
status=200,content-type=application/x-mpegurl
- Oggetto memorizzato nella cache n. 1 con i tag
Invii una richiesta di annullamento della convalida degli oggetti con
tags="status=200,content-type=text/plain"Risultato: tutti e tre gli oggetti memorizzati nella cache vengono invalidati contemporaneamente. In questo modo, non è necessario specificare tutte le possibili combinazioni di tag, alcune delle quali potrebbero essere sconosciute.
Note:
- I tag della cache predefiniti non sono inclusi nella risposta rivolta al cliente perché riflettono le intestazioni esistenti (come la riga di stato o Content-Type) o i dettagli di configurazione interni.
- I tag della cache inviati dall'origine nell'intestazione della risposta HTTP
Cache-Tagvengono inviati al client. Se vuoi impedire che vengano inviati al client, utilizza la funzionalitàresponseHeadersToRemovein unarouteRuleper rimuovere l'intestazioneCache-Tag. Per esempi, consulta la documentazione sulle intestazioni personalizzate.
Tag integrati
Alle risposte vengono applicati automaticamente i seguenti tag della cache per supportare l'annullamento della convalida dei contenuti in base al codice di stato, al tipo MIME o all'origine da cui sono stati recuperati i contenuti. Non è necessario specificare questi tag nelle risposte di origine.
| Tag | Dettagli |
|---|---|
status=HTTP_STATUS_CODE
|
Il tag della cache Ad esempio, puoi invalidare tutte le risposte HTTP 404 memorizzate nella cache specificando |
content-type=MIME_TYPE
|
Il tag della cache Ad esempio, il tipo MIME di una playlist HLS è
In questo modo, puoi invalidare tipi specifici di contenuti. |
origin=ORIGIN_NAME
|
Il tag della cache Il valore |
Limitazioni dei tag della cache
I tag della cache presentano le seguenti limitazioni:
- Non devono superare i 120 byte per tag
- Non è possibile superare i 4 KiB (4096 byte) di nomi di tag totali per oggetto memorizzato nella cache
- Non è possibile superare i 50 tag per oggetto, esclusi i tag predefiniti aggiunti da Media CDN
- Deve essere un nome di token HTTP valido, come definito nella sezione 3.2.6 della RFC 7230 HTTP
- Non deve includere i prefissi integrati
status=,origin=ocontent-type=(che vengono ignorati).
I tag che non rientrano in questi limiti o non soddisfano questi requisiti vengono ignorati. In alcuni casi (ad esempio quando le intestazioni delle risposte sono troppo grandi), la risposta non va a buon fine e non viene memorizzata nella cache.
Autorizzazioni
L'networkservices.EdgeCacheServices.invalidateCache
autorizzazione controlla l'accesso all'API invalidateCache.
Questa autorizzazione è inclusa nei ruoli IAM (Identity and Access Management) networkservices.edgeCacheAdmin e networkservices.edgeCacheUser.
Esempi
Gli esempi seguenti mostrano come invalidare le risposte memorizzate nella cache per un servizio Media CDN.
Puoi combinare i campi host, path e tags in una singola richiesta di annullamento della convalida per invalidare un insieme specifico di contenuti.
Annulla la convalida in base all'host
Console
- Nella Google Cloud console, vai alla pagina Media CDN.
- Fai clic sulla scheda Services (Servizi).
- Fai clic su un servizio.
- Fai clic sulla scheda Cache invalidation (Annullamento convalida cache).
- Per invalidare la cache in base all'host, in Host, specifica un nome host, a meno che
tu non voglia invalidare il percorso di tutti i nomi host.
Il nome host non può includere
*. - Fai clic su Invalidate (Invalida) e poi su Confirm (Conferma) per indicare che Media CDN deve invalidare i contenuti corrispondenti all'host.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host=HOST
Sostituisci quanto segue:
SERVICE_NAMEcon il nome del servizio Edge Cache.HOSTcon il nome host completo della voce della cache da invalidare.
Ad esempio:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host="media.example.com"
L'invalidazione di tutti i contenuti associati a un host può essere rischiosa e influire sulle prestazioni. Valuta la possibilità di ridurre l'ambito di invalidazione fornendo un percorso specifico o tag della cache pertinenti.
Annulla la convalida in base al percorso
Console
- Nella Google Cloud console, vai alla pagina Media CDN.
- Fai clic sulla scheda Services (Servizi).
- Fai clic su un servizio.
- Fai clic sulla scheda Cache invalidation (Annullamento convalida cache).
- Per invalidare la cache in base al percorso, in Path (Percorso), specifica il percorso e il
nome file,ad esempio
/videos/funny.mp4o/segments/e94a6b1f731/*. - Fai clic su Invalidate (Invalida).
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path=PREFIX
Sostituisci quanto segue:
SERVICE_NAMEcon il nome del servizio Edge Cache.PREFIXcon un prefisso del percorso che termina con "*" e che corrisponde alle voci della cache da invalidare.
Ad esempio:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path="/segments/e94a6b1f731/*"
Puoi anche invalidare un percorso esatto omettendo il carattere * finale. Se passi --path="/videos/funny.mp4", viene invalidata la
risposta memorizzata nella cache (se presente) corrispondente a quel percorso.
Annulla la convalida in base al tag della cache
Console
- Nella Google Cloud console, vai alla pagina Media CDN.
- Fai clic sulla scheda Services (Servizi).
- Fai clic su un servizio.
- Fai clic sulla scheda Cache invalidation (Annullamento convalida cache).
- Per invalidare la cache in base ai tag, in Cache tags (Tag della cache), specifica uno o più tag per invalidare la cache. Utilizza spazi o virgole per separare i tag. Puoi aggiungere un massimo di 10 tag della cache per l'invalidazione.
- Fai clic su Invalidate (Invalida).
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags=TAGS
Sostituisci quanto segue:
SERVICE_NAMEcon il nome del servizio Edge Cache.TAGScon un elenco di tag separati da virgole.
Ad esempio:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags="status=404,content-type=text/plain"
Latenza di invalidazione
L'invalidazione della cache nelle migliaia di località di Media CDN in genere viene completata entro un minuto a livello globale.
In alcuni casi, l'invalidazione può richiedere più tempo, a seconda del carico del sistema, della connettività e del volume di contenuti da invalidare.
Logging
Se i log di audit sono abilitati, le chiamate di invalidazione vengono registrate in Cloud Logging.
Limitazioni
Le invalidazioni sono soggette a limitazione di frequenza. Se superi il limite di frequenza delle invalidazioni,
riceverai un messaggio di errore HTTP 429 con lo stato RESOURCE_EXHAUSTED.
Ogni richiesta di invalidazione viene conteggiata come una singola operazione rispetto al limite di frequenza, indipendentemente dalle dimensioni o dall'ambito del percorso. Ad esempio, l'invalidazione di un singolo file (/images/my-image.png) o di un percorso con carattere jolly (/images/*) viene conteggiata come una singola richiesta di invalidazione.