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