vtCache

(Basic, Pro, Master ab 3.0.1)

Legt einen Codeblock im Zwischenspeicher ab oder liest ihn aus dem Zwischenspeicher ein.

Verwendung

<!--{{vtCache: %Name }}--> ... <!--{{vtEndCache}}-->

<!--{{vtCache: %Name, %Trigger }}--> ... <!--{{vtEndCache}}-->

<!--{{vtCache: -id="%Name", -trigger="%Trigger", -expires="%Lebensdauer" }}--> ... <!--{{vtEndCache}}-->
%Name

Bezeichnung des gespeicherten Blocks

%Trigger

(optional) Zeichenkette, anhand derer ermittelt wird, ob der Block im Zwischenspeicher aktualisiert werden muss

%Lebensdauer

(optional) Zahl der Sekunden, nach der der gespeicherte Block spätestens aktualisiert wird, oder verbale Zeitangabe gemäß der PHP-Funktion strtotime().

Hinweise

Mit der vtCache-Anweisung lassen sich Codeblöcke auf der Serverfestplatte zwischenspeichern und bei Bedarf schnell wieder einlesen. Gedacht ist dies in erster Linie für Blöcke, in denen Anweisungen vorkommen, deren Ausführung längere Zeit in Anspruch nimmt, zum Beispiel bestimmte Datenbankabfragen oder Zugriffe auf externe Server. Gespeichert werden die Blöcke innerhalb des Cacheverzeichnisses (siehe Konfigurationsparameter pathToCache) im Unterverzeichnis output.

Der Trigger ist ein beliebiger Wert, der im Cache mitgespeichert wird. Beim erneuten Aufruf der vtCache-Anweisung wird der gespeicherte Wert mit dem übergebenen Wert verglichen, und nur wenn beide identisch sind, wird auf den Zwischenspeicher zurückgegriffen. Andernfalls wird der Cache neu angelegt. Gibt man als Trigger beispielsweise den vtDate-Platzhalter an, würde der Cache automatisch neu angelegt, sobald sich das Datum ändert.

Unabhängig vom Trigger kann man jedem Block eine Lebensdauer mit auf den Weg geben. Ist diese erreicht, wird der Cache in jedem Fall neu angelegt, unabhängig davon, ob sich der Trigger verändert hat (sofern er überhaupt angegeben ist), oder nicht.

Wichtig zu beachten ist, dass alle gespeicherten Codeblöcke sofort ihre Gültigkeit verlieren, sobald ein Benutzer das Redaktionssystem startet. Das Cacheverzeichnis wird allerdings nicht automatisch aufgeräumt, das heißt, man muss ungültige oder nicht mehr benötigte Blöcke manuell entfernen.