Zum Inhalt springen

Extension gecached oder un-gecached?

Erstellt am 10. März 2011 · 4 Antworten · letzte Antwort am 14. März 2011

Tags: Frage

greenpete ·

Hallo,

ich arbeite mich gerade in die Extension Programmierung ein.
Aktuell habe ich ein FE-Plugin erstellt, dass fest auf jeder Seite im rechten Block angezeigt wird. Dieses ist im Moment als gecached realisiert. Dieses soll jedoch in einer festgelegten Zeit aktualisiert werden.
Im aktuellen Fall müsste ich ja die Tabelle "cache_pages" leeren; evtl. noch eine andere.
Wäre es hier geschickter das Plugin nicht als gecached anzulegen, eine eigene Datenbanktabelle dafür anzulegen, und darin die Ausgabe des Plugins zwischenzuspeichern, bis ein Timestamp überschritten wurde, um dann die Aktualisierung durchzuführen?
Oder gibt es hierfür noch andere Methoden?

Gruß Peter

aemka ·

Stell einfach die Cache-Zeit der Seite, auf der das Plugin liegt, auf einen Wert deiner Wahl. In diesem Zeitabstand aktualisiert sich dann die Ausgabe, da die Seite dann komplett neu generiert wird.

greenpete ·

Jo, guter und einfacher Vorschlag.

Da dieses Plugin aber statisch eingebunden ist, und dementsprechen auf jeder Seite angezeigt wird, müsste die Einstellung config.cache_period geändert werden, so dass alle Seiten sich nach der angegebenen Zeit aktualisieren.

Das wird wohl die einfachste Variante sein, solange keine rechenintensiven Inhalte auf den Seiten liegen.

aemka ·

Ok, wenn das auf allen Seiten liegt, wäre eine elegantere Lösung das ELement individuell zu cachen. Genau dafür gibt es ja seit TYPO3 4.3 das Caching Framework. Mit folgender Extension kannst du sehr bequem einzelne Elemente mit beliebigen Cache-Zeiten in das Caching Framework schreiben oder sogar aktionsgesteuert aus dem Cache löschen:
http://typo3.org/extensions/repository/view/enetcache/current/