Cache-Entwertung

Diese Seite bietet einen Überblick über die Cache-Entwertung in Cloud CDN.

Was ist eine Cache-Entwertung?

Sobald ein Objekt im Cache gespeichert wurde, verbleibt es normalerweise im Cache, bis es abläuft oder gelöscht wird, um Platz für neue Inhalte zu schaffen. Die Ablaufzeit steuern Sie über Standard-HTTP-Header.

Unter Umständen möchten Sie ein Objekt vielleicht vor seiner normalen Ablaufzeit aus dem Cache entfernen. Sie können erzwingen, dass ein Objekt oder Objektsatz vom Cache ignoriert wird, indem Sie eine Cache-Entwertung beantragen.

Es ist wichtig sicherzustellen, dass der Ursprungsserver die korrekten Inhalte zurückgibt, bevor Sie die Cache-Entwertung anfordern. Andernfalls wird möglicherweise der falsche Inhalt im Cache gespeichert, wenn Cloud CDN den Inhalt ein weiteres Mal anfordert.

Pfadmuster

Jeder Antrag auf Entwertung umfasst ein Pfadmuster, das das Objekt oder den Objektsatz identifiziert, das bzw. der entwertet werden soll. Das Pfadmuster kann entweder ein bestimmter Pfad sein, z. B. /cat.jpg, oder eine gesamte Verzeichnisstruktur, z. B. /pictures/*. Für Pfadmuster gelten folgende Regeln:

  • Das Pfadmuster muss mit / beginnen.
  • Es darf weder ? noch # enthalten.
  • Es darf nicht das Zeichen * enthalten, außer als letztes Zeichen nach /.
  • Wenn es mit /* endet, ist der vorherige String ein Präfix und alle Objekte, deren Pfade mit diesem Präfix beginnen, werden entwertet.

Das Pfadmuster wird mit der Pfadkomponente der URL verglichen. Die Pfadkomponente besteht aus sämtlichen Zeichen zwischen dem Hostnamen und einem eventuell vorhandenen ? oder #.

Wenn Sie URLs haben, die einen Abfragestring wie /images.php?image=fred.png enthalten, können Sie Objekte, die sich nur durch den Abfragestring unterscheiden, nicht selektiv entwerten. Wenn Sie beispielsweise die zwei Bilder /images.php?image=fred.png und /images.php?image=barney.png haben, können Sie nicht nur fred.png entwerten. Verwenden Sie /images.php als Pfadmuster, um alle von "images.php" bereitgestellten Bilder zu entwerten.

Cache für einen einzelnen Host entwerten

Normalerweise wird bei der Cache-Entwertung der Pfad für alle Ihre Hostnamen entwertet. Wenn beispielsweise example.com und example2.com auf denselben Load-Balancer verweisen und Sie /images/cat.jpg entwerten, werden sowohl example.com/images/cat.jpg als auch example2.com/images/cat.jpg entwertet.

Sie können die Entwertung auf nur einen der Hosts beschränken, indem Sie dem Befehl das Flag --host hinzufügen.

Beschränkungen

Die Entwertung ist nur für außergewöhnliche Umstände vorgesehen und kein Bestandteil Ihres normalen Arbeitsablaufs. Entwertungen wirken sich nicht auf Kopien aus, die in Webbrowser-Caches oder in von Internet-Drittanbietern betriebenen Caches gespeichert sind.

Als Alternative zu routinemäßigen Entwertungen können Sie proaktiv passende Ablaufzeiten für Antworten festlegen oder verschiedene URLs für verschiedene Versionen Ihrer Inhalte verwenden. Weitere Informationen zu Ablaufzeiten finden Sie unter Ablaufzeiten und Validierungsanfragen.

Für Entwertungen gibt es eine Ratenbegrenzung. Sie können höchstens eine Entwertung pro Minute einreichen. Eine Entwertung kann jedoch beliebig groß sein. Die Entwertung von /images/fred.png zählt als eine Entwertung. Die Entwertung von /images/* zählt ebenfalls als eine Entwertung.

Führen Sie eine Entwertung möglichst nur dann durch, wenn sie auch notwendig ist, denn eine zu umfangreiche Entwertung kann bei Ihren Instanzen oder Buckets zu einer plötzlichen starken Zunahme von Anfragen führen, die zuvor aus den Caches bedient wurden.

Da es sich bei Cloud CDN um ein dezentrales System handelt, kann die Meldung erscheinen, dass eine Entwertung abgeschlossen wurde, obwohl eine kleine Anzahl an Caches die Entwertungsanfrage noch nicht verarbeitet hat. Diese Situation ist extrem selten und wird automatisch korrigiert.

Cache-Entwertung mit projektübergreifender VPC-Dienstreferenz anfordern

Wenn Sie einen globalen externen Application Load Balancer mit projektübergreifender VPC-Dienstreferenz verwenden, haben Dienstprojektadministratoren standardmäßig nicht die erforderlichen Berechtigungen, Cache-Entwertungen anzufordern. Dies liegt daran, dass die Cache-Entwertung im Frontend-Projekt konfiguriert ist, also dem Projekt mit der Weiterleitungsregel, dem Zielproxy und der URL-Zuordnung des Load Balancers. Daher können Cache-Entwertungen nur von Hauptkonten ausgegeben werden, die IAM-Rollen zum Konfigurieren von Load-Balancer-bezogenen Ressourcen in den Frontend-Projekten haben (z. B. die Rolle „Compute-Netzwerkadministrator“).

Dienstadministratoren, die die Bereitstellung der Backend-Dienste in einem separaten Projekt steuern, müssen mit dem Load-Balancer-Administrator des Frontend-Projekts zusammenarbeiten, um die Cache-Entwertung für ihre projektübergreifenden Dienste auszuführen.

Nächste Schritte

  • Mehr zum Entwerten Ihrer im Cache gespeicherten Inhalte in Cloud CDN finden Sie unter Cache-Inhalte entwerten.

  • Mehr darüber, welche Inhalte im Cache gespeichert werden können und welche nicht, erfahren Sie unter Caching-Details.