Bei der Cache-Bereinigung werden gecachte Objekte noch vor ihrem eigentlichen Ablaufdatum invalidiert (entfernt). Gründe für die Bereinigung können beispielsweise fehlerhafte oder veraltete Inhalte sein – oder ein wichtiges Update. Sobald ein Objekt im Cache bereinigt wurde, wird es, wenn es das nächste Mal angefragt wird, direkt von der Quelle anstatt aus dem Cache abgerufen.
Auch für Sie als Website-Besitzer gibt es zahlreiche Gründe, Ihren Cache zu bereinigen. Als E-Commerce-Händler möchten Sie beispielsweise unbedingt die Aktualität der Preise und Warenbestände gewährleisten, weshalb Sie eine Bereinigungsrichtlinie haben sollten. Als Betreiber einer Nachrichten-Website möchten Sie veraltete Überschriften oder Inhalte löschen können, damit die neuen Titel und Inhalte vom Origin-Server abgerufen und im Cache gespeichert werden, anstatt die veraltete Version auszuliefern.
Wie funktioniert die Bereinigung?
Objekte, die im Cache gespeichert sind, haben eine bestimmte Lebensdauer, auch bekannt als TTL oder Time to Live, und können ohne erneute Validierung durch den Origin-Server bereitgestellt werden. Sobald ein gecachtes Objekt seine TTL erreicht, gilt es als abgelaufen und der Cache als veraltet. Ein solches veraltetes Objekt kann auf Wunsch auch weiterhin ausgeliefert werden, bevor es offiziell gelöscht und der Cache revalidiert wird.
Die Bereinigung dient also dem Entfernen von Inhalten aus dem Cache, bevor sie das Ende ihrer Lebensdauer erreichen. Dies ist häufig der Fall, wenn gecachte Inhalte Fehler enthalten, nicht mehr aktuell sind oder aufgrund wichtiger Änderungen dringend aktualisiert werden müssen. In jedem Fall dient die Bereinigung dem Ersetzen gecachter Website-Daten durch eine neuere, frischere Version von Ihrem Origin-Server.
Methoden zur Bereinigung des Cache
Da wir jetzt wissen, was es mit der Bereinigung auf sich hat, können wir und nun die verschiedenen Methoden zur Cache-Bereinigung ansehen:
Manuelle Cache-Bereinigung: Dazu gehört die manuelle Initiierung einer Bereinigungsanfrage für bestimmte Inhalte oder Pfade. Diese kann über eine Nutzeroberfläche, eine API oder ein Befehlszeilentool erfolgen, das von Ihrem Caching-System oder Content Delivery Network (CDN) bereitgestellt wird. Eine manuelle Bereinigung ist hilfreich für einmalige oder seltene Situationen, in denen Inhalte sofort aktualisiert werden müssen.
Automatische Cache-Bereinigung: Bei dieser Methode werden Bereinigungsanfragen anhand bestimmter Ereignisse oder Bedingungen automatisch ausgelöst. Beispielsweise können Bereinigungen immer dann ausgelöst werden, wenn neue Inhalte in Ihrem Content-Management-System veröffentlicht oder aktualisiert werden. Durch die automatische Bereinigung können Sie sicherstellen, dass zwischengespeicherte Inhalte ohne manuelle Eingriffe aktuell bleiben.
Bereinigungsstrategien:
Vollständige Bereinigung: Bei der vollständigen Bereinigung wird der gesamte Cache invalidiert und alle gecachten Inhalte werden gelöscht. Diese drastische Methode wird in der Regel nur angewendet, wenn es absolut notwendig ist, da sie die Cache Performance beeinträchtigt, bis neue Inhalte gecacht wurden.
Teilweise Bereinigung: Bei einer partiellen Bereinigung wird nur ein Teil der gecachten Inhalte invalidiert, zum Beispiel bestimmte URLs, Pfadmuster oder Inhaltstypen. Dies ermöglicht es Ihnen, gezielter vorzugehen und nur veraltete Inhalte zu löschen.
Smarte Bereinigung: Einige Cache-Systeme unterstützen eine smarte Bereinigungslogik, die auf Faktoren wie Alter des Cache, Traffic-Aufkommen oder Beziehungen zwischen Inhalten beruht, um die Auswirkungen auf die Performance zu minimieren und Inhalte gleichzeitig aktuell zu halten.
Bewährte Praktiken zur Cache-Bereinigung
Durch eine effektive Cache-Bereinigung bleiben Ihre Inhalte aktuell und es wird gleichzeitig eine optimale Performance gewährleistet. Werfen wir einen Blick auf bewährte Praktiken, mit denen Sie dieses Gleichgewicht erreichen können:
Definieren Sie, welche spezifischen Szenarien und Bedingungen eine Cache-Bereinigung auslösen sollen und welche Bereinigungsmethoden (vollständig, teilweise oder smart) für die jeweiligen Situationen geeignet sind. Berücksichtigen Sie dabei auch Ihre Anforderungen an die Aktualität Ihrer Inhalte, deren Kritikalität und die Aktualisierungshäufigkeit.
Planen Sie regelmäßig vollständige oder gezielte Cache-Bereinigungen ein, um veraltete Inhalte zu entfernen und den Cache zurückzusetzen. Die Häufigkeit hängt von der Art Ihrer Inhalte ab, wobei Inhalte, die sich schnell ändern, eine häufigere Bereinigung erfordern.
Integrieren Sie die Cache-Bereinigung in Ihr Content-Management-System, Ihre CI/CD-Pipelines oder andere Tools, um bei Aktualisierungen oder bei Bereitstellung neuer Inhalte eine automatische Bereinigung durchzuführen. Die Automatisierung gewährleistet eine zeitnahe Bereinigung und reduziert den manuellen Aufwand.
Bereinigungen, insbesondere vollständige Bereinigungen, können sich vorübergehend auf die Performance auswirken, bis die entsprechenden Inhalte erneut gecacht wurden. Um die Auswirkungen auf Ihre Origin-Server zu minimieren, können Sie Ihre Bereinigungs-Workflows testen, Drosselung oder Rate Limiting implementieren und eine smarte Bereinigungslogik in Betracht ziehen.
Überwachen Sie fortlaufend die Effektivität Ihrer Bereinigungsprozesse, überwachen Sie Ihre Metriken und passen Sie Richtlinien und Workflows gegebenenfalls an. Seien Sie bereit, Strategien anzupassen, wenn sich Ihre Anforderungen oder Technologien ändern.
Bereinigungsbeispiele
Angenommen, Sie veröffentlichen einen Nachrichtenartikel, stellen aber fest, dass er einen Fehler enthält. Sie korrigieren den Artikel und laden ihn im Rahmen Ihres üblichen Bereitstellungsprozesses auf Ihre Origin-Server hoch. Der falsche Artikel bleibt jedoch weiterhin im Cache und kann an Ihre Leser ausgeliefert werden, bis Sie – zum Beispiel über einen HTTP-Header – eine Bereinigungsanfrage senden. Durch die Bereinigung wird der Cache angewiesen, das zwischengespeicherte Objekt bei Client-Anfragen nicht mehr auszuliefern und stattdessen das neuere Objekt vom Origin-Server abzurufen. Dieses neuere Objekt ersetzt den gecachten Inhalt und kann als Antwort auf nachfolgende Anfragen bereitgestellt werden.
Diese Bereinigungsmethode funktioniert allerdings nur bei von Ihnen implementierten Remote Caches, wie einem Reverse Proxy oder einem CDN. Eine erzwungene Bereinigung durch Bereinigungsanfragen an den Cache des lokalen Browsers eines Nutzers sind leider nicht möglich. Wenn Sie ein CDN nutzen, empfehlen wir HTTP-Header, um zu verhindern, dass Objekte überhaupt erst im Browser gecacht werden.
Weitere Informationen zur Cache-Bereinigung erhalten Sie in der Fastly Academy.
Mehr über das Caching mit dem Fastly CDN