Session-Handling

Bemerkung

Das Session-Handling wurde in Version v1.0 grundlegend überarbeitet und funktioniert stabiler und einfacher.

Sessions auswerten

Generell lautet die Regel: Wenn eine Session aktiv ist (das bemerkt FPC anhand eines Session-Cookies, das auf eine gültige Sessiondatei zeigt), wird kein Cache genutzt. Der Cache kann jedoch trotzdem genutzt werden, indem FPC angewiesen wird, die Session zu öffnen und zu prüfen, ob Daten enthalten sind, die für den Aufbau relevant sein könnten.

Wird die Session-Untersuchung, werden aus der Session testweise eine Reihe von Keys entfernt (die zu ignorieren sind). Sollte die Session danach leer sein (und damit keine relevanten Daten enthalten), wird das Caching doch durchgeführt (spricht eine Cache-Datei für den aktuellen Request gesucht).

Die erste Einstellung, die dafür relevant ist, ist ignore_sessions. Wird sie auf true gesetzt, wird der Inhalt der Session immer ignoriert und immer das Caching aktiviert. Das ist besonders dann nützlich, wenn bekannt ist, dass Sessions niemals relevant für den Seitenaufbau sein können.

Steht ignore_sessions auf false, so kann über ignored_session_fields eine Liste von Keys angegeben werden, die aus der Session (temporär natürlich) entfernt werden sollen.

ignore_sessions: false
ignored_session_fields: [STAMP, UID]

Das obige Beispiel zeigt, wie man die Backend-Session von Sally für das Caching ignoriert.

Warnung

Die ignorierten Felder werden nur in den über die Sally-API gesetzten Daten gesucht. Direkte Zugriffe ($_SESSION) können nicht beachtet werden. Es sollte also immer konsequent sly_Util_Session genutzt werden.

Session-Handling (erweitert)

Nicht immer sind Sessions irrelevant für den Seitenaufbau. Mal sind mehr oder weniger Menüpunkte zu sehen, mal wird aus dem Login- ein Logoutlink. Um dieser Änderung Rechnung zu tragen, kann doch gecached werden.

Meistens ist es nicht gewünscht, dass für jede Session alle Seiten separat gecached werden. Oft reicht es, zwischen “Besucher” und “eingeloggt” zu unterscheiden. Zu diesem Zweck bietet FPC die sog. “Cache-Gruppe” an.

Über die API kann im Frontend der aktuellen Session eine Gruppe zugewiesen werden. Eine Gruppe kann eine Zahl oder ein beliebiger String sein. Die Gruppe wird in der Session abgelegt (muss aber nicht in der Ignore-Liste von Sessiondaten aufgezählt werden). Sie wird einfach in die Hashberechnung für Cache-Dateien einbezogen.

Zusätzlich kann das Caching für eine Session auch gänzlich deaktiviert werden. Dazu muss die Gruppe false oder die gesonderte API-Methode (empfohlen!) aufgerufen werden.

<?
WV35_FullPageCache::dontCacheThisSession(); // setzt gruppe = false
WV35_FullPageCache::setCacheGroup($group); // int or string
WV35_FullPageCache::getCacheGroup();

Inhalt

Vorheriges Thema

Vollseiten-Cache

Diese Seite