ContentLion - Open Source CMS

Caching

Mit Caching können Sie Daten zwischenspeichern und so eine bessere Performance erzielen. So können zum Beispiel die Ergebnisse von langen Berechnungen oder Datenbankabfragen einmal generiert werden und für weitere Aufrufe erneut genutzt werden.

In ContentLion gibt es hierfür zwei Verfahren:

Verwenden der Caches

Im folgenden benutze ich den FileCache. Wenn Sie die Beispiele mit dem SessionCache nutzen möchten, können sie die Namen einfach austauschen.

Zunächst einmal müssen wir etwas in den Cache speichern. Das geht folgendermaßen:

FileCache::setData("page", $page->id, $page); 

Im ersten Parameter muss man den Bereich angeben, in dem man speichern möchte. Wir möchten eine Seite speichern, also geben wir "page" an. In Ihrem Plugin sollten Sie allerdings auf die Namensräume achten. Im zweiten Parameter wird ein String übergeben, in dem man die Daten wiederfinden möchte. In diesem Fall ist die id der Seite eindeutig, weshalb wird diese verwenden. Im letzten Parameter kann man dann das Objekt selbst speichern. Hier kann man letztendlich alle möglichen Werte reinpacken.

Im nächsten Schritt möchten wir die Daten wieder auslesen. In diesem Fall geht da so:

FileCache::getData("page", $pageid);

Hier wird aus dem Bereich page die Seite mit der $pageid gesucht. Um vorher zu überprüfen, ob etwas im Cache vorhanden ist, kann man contains verwenden. Sie hat die gleichen Parameter wie getData:

FileCache::contains("page", $pageid);