Das SiteKit verfügt über einen eigenen Cache-Mechanismus
Warum wird gecached?
Bei jedem Request werden sehr viele PHP-Dateien iteriert und gemerged, was mit steigender Datei-Anzahl immer mehr Ressourcen und Laufzeit braucht. Mittels des Caches werden die fertig geladenen (Filesystem) und gemergten (PHP) Dateien einmal geladen bzw. liegen bereits in dem OP-Cache, was einen Performance-Boost darstellt.
Wann wird der Cache neu generiert?
- wenn keine Cache-Datei vorhanden ist
- wenn ein IES-Module (re-)deployed wird
- bei aktivierten & validen SiteKit-Token (wichtig bei der Entwicklung von neuen Modulen/Features)
Wie deaktiviere ich den Cache?
- aktiviere den validen SiteKit-Token für den jeweiligen Mandanten (Http-Header oder Cookie oder in der PHP-Session)
Wo liegen die Cache-Dateien?
In dem Temp-Directory von jeweiligen OS
Wie heißen die Cache-Dateien?
- sitekit.cache.pub{number}.{cacheName}.php
Was wird gecached?
Der Cache lässt sich in folgende Gruppen unterteilen:
- Konfiguration (src/main/php/config/*)
- Übersetzungen (src/main/php/lang/*)
- Anwendungs spezifische Caches (die Anwendung entscheidet selbst was in welcher Form und wie lange gecached wird)
Konfiguration
Hier werden alle Konfigurationen aus allen SiteKit-Modulen, die für den aktuellen Mandanten benötigt werden, gemerged und gepspeichert. Derzeit gibt es pro Mandanten eine Config-Cache-Datei.
Übersetzungen
Hier werden alle Überetzungen aus allen SiteKit-Modulen und Übersetzungen die mittels Infosite6 im Mandanten erstellt wurden gemerged und gepspeichert. Es können beliebig viele Übersetzungs-Cache-Dateien geben, i.d.R. sind es zwei Datei pro Sprachpaket. Zum Beispiel werden zwei Dateien für das Locale “de_DE” generiert:
- sitekit.cache.translation.de.php
- sitekit.cache.translation.de_DE.php
Anwendungs spezifische Caches
@see \SP\SiteKit\CacheManager