Cache-Invalidierung
smoxy cached Inhalte am Edge, um die Last auf dem Origin-Server zu reduzieren. Wenn sich Inhalte ändern, muss die gecachte Version invalidiert werden, damit Besucher das Update sehen. smoxy bietet mehrere Methoden dafür — vom Löschen einer einzelnen URL bis zum Flushen ganzer Tag-Gruppen.
Alle Invalidierungsanfragen verwenden die HTTP-Methode BAN und erfordern das in der Grundkonfiguration der Site festgelegte Cache-Token.
INFO
Cloudflare-Nutzer: Cloudflare kann BAN/PURGE-Requests blockieren. Siehe Cloudflare Setup für die empfohlene Lösung.
Methoden
Flush URL
Löscht den Cache für eine bestimmte URL.
curl -X BAN -H "secret: <token>" -H "url: /" https://www.example.com/Die URL lässt sich auch als Request-Ziel übergeben:
curl -X BAN -H "secret: <token>" https://www.example.com/products/my-productFlush Tags
Löscht alle gecachten Inhalte, die mit einem oder mehreren Cache-Tags versehen sind. Tags werden über den x-cache-tags-Header der Origin-Antworten gesetzt (siehe Erweitertes Caching für die Tag-Konfiguration).
Einen einzelnen Tag flushen:
curl -X BAN -H "secret: <token>" -H "tags: smartphones" https://www.example.com/Mehrere Tags gleichzeitig flushen (kommagetrennt):
curl -X BAN -H "secret: <token>" -H "tags: smartphones,accessories" https://www.example.com/Wann Tags verwenden: Tags sind der effizienteste Weg, Gruppen zusammengehöriger Inhalte zu invalidieren. Wenn ein Shop beispielsweise Produktseiten mit ihrem Kategorienamen taggt, lassen sich alle „Samsung"-Produkte mit einem einzigen Request flushen, anstatt jede URL einzeln zu purgen.
Gängige Tagging-Strategien:
| Strategie | Tag-Beispiel | Anwendungsfall |
|---|---|---|
| Nach Kategorie | smartphones, laptops | Neue Produkte in einer Kategorie |
| Nach Marke | samsung, apple | Markenweite Preisaktualisierung |
| Nach Produkt-ID | product-123 | Einzelnes Produkt geändert |
| Nach Seitentyp | listing, detail, home | Template- oder Layout-Änderung |
Flush File
Löscht eine bestimmte Cache-Datei anhand ihres Cache-Hashs. Nützlich, wenn der genaue Cache-Eintrag bekannt ist, der invalidiert werden soll.
curl -X BAN -H "secret: <token>" -H "cache-file: 469640790ad5bda4d1cc6a19f6770214.html" https://www.example.com/INFO
Tipp: Der Cache-Datei-Hash wird als Response-Header zurückgegeben, wenn Debug-Header aktiviert sind.
Flush All
Löscht den gesamten Cache der Site. Nur als letzten Ausweg verwenden — es zwingt jede Anfrage, frisch vom Origin abgerufen zu werden, bis der Cache wieder aufgewärmt ist.
curl -X BAN -H "secret: <token>" -H "type: flushall" https://www.example.com/Die richtige Methode wählen
| Methode | Umfang | Geschwindigkeit | Origin-Last |
|---|---|---|---|
| Flush URL | Einzelne URL | Sofort | Minimal |
| Flush Tags | Gruppe verwandter Seiten | Sofort | Moderat |
| Flush File | Einzelner Cache-Eintrag | Sofort | Minimal |
| Flush All | Gesamter Site-Cache | Sofort | Hoch (Cache-Kaltstart) |
Mit der gezielten Methode beginnen. Flush URL für einzelne Seiten verwenden, Flush Tags für Gruppen und Flush All nur wenn nötig.
Schnellaktionen
Der Cache lässt sich auch ohne Code über die Schnellaktionen im Dashboard leeren:
- Gesamten Cache leeren — entspricht Flush All
- Cache nach URL leeren — entspricht Flush URL
- Cache nach Tag leeren — entspricht Flush Tags
