Die Cache-Entwertung wird manchmal Cache-Leerung bezeichnet. Dabei werden im Cache gespeicherte Inhalte als ungültig deklariert. Dadurch wird der Eintrag aus dem Cache entfernt und bei der nächsten Anfrage nach dem Inhalt wird dieser vom Ursprungsserver geladen und neu in den Cache geschrieben.
Media CDN unterstützt mehrere Möglichkeiten, Inhalte auszuwählen, die für ungültig erklärt werden sollen:
- Host und URL-Pfad
- URL-Präfix (Platzhalter)
- Cache-Tags, einschließlich integrierter Tags für
status,originundcontent-type
Sie können diese Entwertungsparameter kombinieren, um bestimmte Antworten aus dem Cache zu erreichen und die Ursprungslast beim anschließenden Füllen des Cache zu minimieren.
Unterstützte Syntax für die Ungültigkeitserklärung
Die unterstützte Syntax für die Ungültigkeitserklärung lautet wie folgt:
| Typ | Syntax | Beispiel |
|---|---|---|
| Hostentwertung | Cache-Antworten für den angegebenen Host entwerten. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| Pfadentwertung | Cache-Antworten für den angegebenen Pfad oder Pfadpräfix entwerten. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
| Cache-Tag-Entwertung beim HTTP-Statuscode, Ursprungsnamen oder MIME-Typ. |
Cache-Antworten mit einem übereinstimmenden Tag entwerten. Mehrere Tags werden als boolesches OR behandelt.
|
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
Hinweise:
- In einer einzelnen Entwertungsanfrage können bis zu 10 Cache-Tags angegeben werden.
- Sie können
host,pathundtagsin einer einzigen Anfrage zum Entfernen kombinieren. Sie werden als boolescher WertANDbehandelt. - Wenn mehrere Cache-Tags angegeben werden, werden sie als boolesches
ORbehandelt. Wenn Sie beispielsweise--tags="status=404,origin=staging-origin"angeben, werden alle Antworten mit dem Cache-Tagstatus=404ungültig, ebenso wie alle Antworten mit dem Cache-Tagorigin=staging-origin.
Cache-Tags
Mit Cache-Tags (oder Ersatzschlüsseln) können Sie Inhalte basierend auf beliebigen Metadaten entwerten.
Diese Tags werden durch Folgendes definiert:
- Der HTTP-Header
Cache-Tagwird in einer Ursprungsantwort festgelegt. Die Tags werden als durch Kommas getrennte Liste von Werten angegeben. - Integrierte Tags basierend auf dem HTTP-Statuscode der Antwort, dem MIME-Typ aus dem
Content-Type-HTTP-Antwortheader oder dem Namen des Ursprungs, von dem die Antwort abgerufen wurde.
Wenn in einer einzelnen Entwertungsanfrage mehrere Tags angegeben werden, werden sie als boolesches OR behandelt.
Dazu ein Beispiel:
Sie haben die folgenden im Cache gespeicherten Objekte:
- Im Cache gespeichertes Objekt 1 mit den Tags
status=200,content-type=video/mp4 - Im Cache gespeichertes Objekt 2 mit den Tags
status=404,content-type=text/plain - Im Cache gespeichertes Objekt 3 mit den Tags
status=200,content-type=application/x-mpegurl
- Im Cache gespeichertes Objekt 1 mit den Tags
Sie stellen eine Anfrage zum Entwerten von Objekten mit
tags="status=200,content-type=text/plain".Ergebnis: Alle drei im Cache gespeicherten Objekte werden gleichzeitig entwertet. Dadurch soll verhindert werden, dass Sie alle möglichen Tag-Kombinationen angeben müssen, von denen einige möglicherweise unbekannt sind.
Hinweise:
- Die Standard-Cache-Tags sind nicht in der clientseitigen Antwort enthalten, da sie entweder vorhandene Header (z. B. die Statuszeile oder Content-Type) oder interne Konfigurationsdetails widerspiegeln.
- Cache-Tags, die vom Ursprung im
Cache-Tag-HTTP-Antwortheader gesendet werden, werden an den Client gesendet. Wenn Sie verhindern möchten, dass diese an den Client gesendet werden, verwenden Sie dieresponseHeadersToRemove-Funktion für einrouteRule, um denCache-Tag-Header zu entfernen. Beispiele finden Sie in der Dokumentation zu benutzerdefinierten Headern.
Integrierte Tags
Antworten werden automatisch mit den folgenden Cache-Tags versehen, um die Entwertung von Inhalten basierend auf dem Statuscode, dem MIME-Typ oder dem Ursprung zu unterstützen, von dem die Inhalte abgerufen wurden. Sie müssen diese Tags nicht in Ihren Ursprungsantworten angeben.
| Tag | Details |
|---|---|
status=HTTP_STATUS_CODE
|
Das Sie können beispielsweise alle im Cache gespeicherten HTTP 404-Antworten ungültig machen, indem Sie |
content-type=MIME_TYPE
|
Das Cache-Tag Der MIME-Typ einer HLS-Playlist ist beispielsweise So können Sie bestimmte Inhaltstypen entfernen. |
origin=ORIGIN_NAME
|
Das Cache-Tag Der Wert |
Einschränkungen bei Cache-Tags
Für Cache-Tags gelten die folgenden Einschränkungen:
- Ein Tag darf nicht mehr als 120 Byte umfassen.
- Die Gesamtlänge aller Tag-Namen pro im Cache gespeichertes Objekt darf 4 KiB (4.096 Byte) nicht überschreiten.
- Darf nicht mehr als 50 Tags pro Objekt enthalten, abgesehen von den Standard-Tags, die von Media CDN hinzugefügt werden.
- Muss ein gültiger HTTP-Tokenname sein, wie in Abschnitt 3.2.6 von HTTP RFC 7230 definiert.
- Darf nicht die integrierten Präfixe
status=,origin=odercontent-type=enthalten (die ignoriert werden).
Tags, die diese Grenzwerte nicht einhalten oder diese Anforderungen nicht erfüllen, werden ignoriert. In einigen Fällen (z. B. wenn die Antwortheader zu groß sind) schlägt die Antwort fehl und wird nicht im Cache gespeichert.
Berechtigungen
Die Berechtigung networkservices.EdgeCacheServices.invalidateCache steuert den Zugriff auf die invalidateCache API.
Diese Berechtigung ist in den IAM-Rollen (Identity and Access Management) networkservices.edgeCacheAdmin und networkservices.edgeCacheUser enthalten.
Beispiele
Die folgenden Beispiele zeigen, wie Sie im Cache gespeicherte Antworten für einen Media CDN-Dienst ungültig machen.
Sie können die Felder host, path und tags in einer einzelnen Invalidierungsanfrage kombinieren, um eine bestimmte Gruppe von Inhalten zu invalidieren.
Entwertung nach Host
Console
- Rufen Sie in der Console von Google Cloud die Seite Media CDN auf.
- Klicken Sie auf den Tab Services (Dienste).
- Klicken Sie auf einen Dienst.
- Klicken Sie auf den Tab Cache-Entwertung.
- Wenn Sie den Cache nach Host entwerten möchten, geben Sie für Host einen Hostnamen an, es sei denn, Sie möchten den Pfad für alle Hostnamen entwerten.
Der Hostname darf
*nicht enthalten. - Klicken Sie auf Entwerten und dann auf Bestätigen, um anzugeben, dass Media CDN die Inhalte entwerten soll, die dem Host entsprechen.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host=HOST
Dabei gilt:
SERVICE_NAMEdurch den Namen des Edge-Cache-Dienstes ersetzen.HOSTdurch den vollständigen Hostnamen des Cache-Eintrags ersetzen, der entwertet werden soll.
Beispiel:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--host="media.example.com"
Das Entwerten aller Inhalte, die mit einem Host verknüpft sind, kann riskant sein und sich auf die Leistung auswirken. Sie können den Ungültigkeitsbereich reduzieren, indem Sie einen bestimmten Pfad oder relevante Cache-Tags angeben.
Entwertung nach Pfad
Console
- Rufen Sie in der Console von Google Cloud die Seite Media CDN auf.
- Klicken Sie auf den Tab Services (Dienste).
- Klicken Sie auf einen Dienst.
- Klicken Sie auf den Tab Cache-Entwertung.
- Wenn Sie den Cache nach Pfad entwerten möchten, geben Sie unter Pfad den Pfad und den Dateinamen an, z. B.
/videos/funny.mp4oder/segments/e94a6b1f731/*. - Klicken Sie auf Entwerten.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path=PREFIX
Dabei gilt:
SERVICE_NAMEdurch den Namen des Edge-Cache-Dienstes ersetzen.HOSTdurch den Hostnamen der Cache-Einträge ersetzen, die entwertet werden sollen. Wenn Sie einen beliebigen Hostnamen abgleichen möchten, lassen Sie das Host-Flag weg.PREFIXmit einem Pfadpräfix ersetzen, das auf „*“ endet, das mit Cache-Einträgen übereinstimmt, die entwertet werden sollen.
Beispiele:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--path="/segments/e94a6b1f731/*"
Sie können auch einen genauen Pfad ungültig machen, indem Sie das abschließende Zeichen * weglassen. Durch die Übergabe von --path="/videos/funny.mp4" wird die im Cache gespeicherte Antwort (falls vorhanden), die diesem Pfad entspricht, ungültig.
Entwertung anhand von Cache-Tags
Console
- Rufen Sie in der Console von Google Cloud die Seite Media CDN auf.
- Klicken Sie auf den Tab Services (Dienste).
- Klicken Sie auf einen Dienst.
- Klicken Sie auf den Tab Cache-Entwertung.
- Wenn Sie den Cache anhand von Tags entwerten möchten, geben Sie unter Cache-Tags ein oder mehrere Tags an. Verwenden Sie Leerzeichen oder Kommas, um Tags zu trennen. Sie können maximal 10 Cache-Tags für die Entwertung hinzufügen.
- Klicken Sie auf Entwerten.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags=TAGS
Dabei gilt:
SERVICE_NAMEdurch den Namen des Edge-Cache-Dienstes ersetzen.TAGSdurch eine durch Kommas getrennte Liste von Tags ersetzen.
Beispiele:
gcloud edge-cache services invalidate-cache SERVICE_NAME \
--tags="status=404,content-type=text/plain"
Entwertungslatenz
Die Cache-Entwertung über Tausende von Standorten in Media CDN ist in der Regel innerhalb einer Minute weltweit abgeschlossen.
In einigen Fällen kann die Ungültigmachung länger dauern, je nach Systemlast, Konnektivität und Menge der ungültig zu machenden Inhalte.
Logging
Wenn Audit-Logs aktiviert sind, werden Ungültigkeitsaufrufe in Cloud Logging protokolliert.
Beschränkungen
Für Entwertungen gibt es eine Ratenbegrenzung. Wenn Sie das Limit für die Invalidierungsrate überschreiten, erhalten Sie eine HTTP-429-Fehlermeldung mit dem Status RESOURCE_EXHAUSTED.
Eine Entwertung kann jedoch beliebig groß sein. Die Entwertung von /images/my-image.png zählt als eine Entwertung. Die Entwertung von /images/* zählt ebenfalls als eine Entwertung.