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.