Beschreibung:
Nutzen Sie den #CACHE-Befehl um den darin befindlichen Layoutblock automatisch:
Mit Hilfe des #CACHE..#ENDCACHE-Blocks wird ein Bereich definiert, welcher - bspw. aus Performancegründen - schneller aus einem Cache geladen als mit Hilfe des VIO.Matrix CIS generiert wurden ist. Der CIS erkennt anhand des Zeitpunkts der letzten Veröffentlichung, dem im Block eingeschlossenen Layouts sowie eines angegebenen Schlüssels, ob dieses Layout neu erzeugt oder aus einem Cache ermittelt werden kann. Muss das Layout neu erzeugt werden, weil sich bspw. Inhalte der Website geändert haben, so wird der so neu erzeugte Code (i.d.R. HTML-Code) unter dem angegebenen Schlüssel in eine Cache-Datenbank geschrieben.
Bei der Wahl eines passenden Schlüssels sollte berücksichtigt werden, von welchen Parametern die Erzeugung des von #CACHE..#ENDCACHE eingeschlossenen Layouts abhängig ist. Diese Parameter sollten in einer Zeichenkette zusammengefasst werden.
Beispiel:
Cache eines Layouts, welches unabhängig vom referenzierten Ordner oder Element ist
#CACHE_{mysql://dbuser:dbpasswd@dbserver/dbname/HEAD}
#INSERT_LY_KOMPONENTEN#html_head!
#ENDCACHE
Beispiel:
Cache eines Layouts, welches abhängig von der Sprache und dem referenzierten Ordner ist
#CACHE_{mysql://dbuser:dbpasswd@dbserver/dbname/MENU#INSERT_OR_ID-#INSERT_SP_VAR_lang!}
#INSERT_LY_MENU#STANDARD!
#ENDCACHE
Hinweis:
Die Cache-Datenbank nutzt folgende Struktur:
Spaltenname | Typ | Schlüssel | Beschreibung |
---|---|---|---|
hashkey | char(255) | PK | Identifizierender Schlüssel (MD5-Hash) |
cachekey | varchar(255) | Im #CACHE-Block angegebender Schlüssel | |
zeitpunkt | datetime | Zeitpunkt der Cacheerstellung | |
content | longblob | Inhalt des Cache |
Zur Erzeugung der Cache-Datenbank kann folgendes SQL-Statement genutzt werden:
CREATE TABLE IF NOT EXISTS `vmcache` (
`hashkey` char(255) NOT NULL,
`cachekey` varchar(255) DEFAULT NULL,
`zeitpunkt` datetime DEFAULT NULL,
`content` longblob,
PRIMARY KEY (`hashkey`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Attribut | Wert | Beschreibung |
---|---|---|
{[1]}
|
[1]:
Cachemethode und -schlüssel
|
Syntax: [methode]://[user]:[passwort]@[server]/[cache]/[key] Beispiel: mysql://max:xyz@localhost/cachedb/HEAD |
Tipps & Tricks * Trends * Hilfen * Unterlagen * KnowHow * Vorlagen * Downloads * Neues