TYPO3 Snippet: Page Cache aus einer Extension heraus löschen

Heute mal wieder ein kleines Snippet für Zwischendurch. Im Backend kennt man es bereits: Für manche Seiten richtet man folgende Page TSConfig ein, um automatisch den Cache von (bestimmten) Seiten löschen zu lassen, sobald Datensätze auf einer Seite verändert worden sind (z.B. bei Systemordnern von News)

TCEMAIN.clearCacheCmd = 6,66,666 // Leert den Cache der Seiten 6,66,666
TCEMAIN.clearCacheCmd = pages // Leert den Cache aller Seiten

Möchte man jedoch den Seiten-Cache dynamisch aus einer Extension heraus löschen – zum Beispiel beim Frontend Editing – so lässt sich dies mit der folgenden Funktion in einem beliebigen Controller realisieren:

# Page Cache der Seite 6 löschen
$this->cacheService->clearPageCache(6);

# Page Cache der Seiten 6,66,666 löschen
$this->cacheService->clearPageCache(array(6,66,666));

# Page Cache aller Seiten löschen
$this->cacheService->clearPageCache();

Doch Achtung:
Gerade bei großen Seiten sollte man den Cache von Seiten nicht andauernd löschen. Das Caching dient schließlich zur Beschleunigung des Seitenaufbaus!
Empfehlenswerter ist es einen eigenen Caching Mechanismus in seiner Extension zu verwenden und so nur gezielt den Cache von einzelnen Datensätzen in Detailansichten löschen.

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Highlighting von Codes ist mit den Tags  [ts], [php], [html], [javascript], [xml] oder [code] möglich.