Seitencache beim Ändern von Inhalten aktuell halten

Webseiten sollen zum einen aktuell, aber auch performant sein. Die Inhalte sollten daher aus einem Cache kommen, welcher nach Seitenänderungen auch aktualisiert werden muss.

Die BASE Projekte von Weblication® CMS werden bereits im Standard mit aktiviertem Cache ausgeliefert (siehe Standard-Dateieinstellungen). Über die Projektereignisse wird bereits im Standard beim Speichern, Umbenennen, etc. der Projekt-Cache geleert. Somit bleiben beim Anlegen von neuen Meldungen o.ä. auch Listen in anderen Seiten (z.B. Startseite) aktuell.

Projektereignis zu onAfterSaveFile

Nachfolgend finden Sie den Auszug aus dem Projektereignis für das Speichern von Dateien, um danach den Cache zu löschen.

Beispiel: Auszug aus dem Projektereignis onAfterSaveFile zum Löschen des Projektcache

wCache::clearCacheProject($eventData['projectPath']);

Asynchrone Aufrufe steuern

Das Löschen des Projektcache / Seitencache über Verzeichnisereignisse erfolgt über einen asynchronen HTTP-Aufruf (via GET). Dies muss vom Webserver unterstützt werden (siehe hierzu Abfrage von "Asynchronous Requests" in den Weblication® CMS Serverinformationen).
Sofern ein Webserver dies nicht unterstützt, gibt es unterschiedliche Möglichkeiten:

  • ab aktueller CMS-Version13.x können Sie im clearCacheProject-Aufruf über einen Parameter den asynchronen Aufruf auch deaktivieren oder in der Conf manuell setzen, daß keine asynchronen Aufrufe erfolgen:
    /wConf/wUserAgent/@allowAsync = '0'
    bzw. über diese Einstellung dafür sorgen, daß asynchrone Aufrufe nicht über fsockopen, sondern curl (curl_multi_exec) gehen:
    /wConf/wUserAgent/@allowAsync = '3'
  • ab CMS-Version 14 gehen asynchrone Aufrufe immer über curl, sofern in der Conf das zuvor genannten allowAsync-Attribut nicht auf den Wert "2" gesetzt ist (dann fsockopen).
Diese Webseite verwendet Cookies. Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Datenschutzinformationen