Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Cache-Invalidierung und Leeren

Wie Exponential seine Caches selbst invalidiert (eZContentCacheManager beim Veröffentlichen, das Event content/cache, Ablaufzeitstempel, Tabellenverfolgung im Abfrage-Cache) und wie Sie sie von Hand nach ID oder Tag…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/software-engineers/cache-invalidation-and-clearing.md

On this page

This page is a translation. Read the English original

Cache-Invalidierung und Leeren

Diese Seite richtet sich an Ingenieure, die Code, Einstellungen oder Daten ändern und die richtigen Caches geleert haben müssen, nicht mehr und nicht weniger, und an jene, die Code schreiben, der etwas in einem Cache speichert. Die Administrationsseite ist unter Caches beschrieben; die Cache-Tags und -IDs für Autoren von Erweiterungen stehen unter Cache-Tags und Leeren.

Inhalt

  1. Was sich selbst invalidiert
  2. Von Hand leeren
  3. Welche Änderung welches Leeren braucht
  4. Die Reihenfolge zählt
  5. Regeln für Code, der zwischenspeichert

Was sich selbst invalidiert

MechanismusWas er tut
eZContentCacheManager (kernel/classes/ezcontentcachemanager.php)leert beim Veröffentlichen die View-Caches der betroffenen Knoten und löst das Event content/cache aus
eZExpiryHandler (expiry.php im Cache-Verzeichnis)hält Ablaufzeitstempel; ein Cache, der älter als sein Zeitstempel ist, wird neu erzeugt
Rollenbewusster HTTP-Cacheleert gespeicherte Ansichten bei Inhaltsänderungen (standardmäßig ContentChangePurges=all)
SQL-Abfrage-Cacheein Schreibvorgang in eine Tabelle macht jedes zwischengespeicherte Ergebnis veraltet, das sie gelesen hat
sevenx_valkey_cacheumgekehrte Knoten- und Teilbaum-Indizes leeren genau die Einträge, die ein Veröffentlichen betrifft
Template-Blöckelaufen nach ihrer konfigurierten Zeit ab, sofern sich ihre Schlüssel nicht vorher ändern

Von Hand leeren

php bin/php/ezcache.php --list-ids --allow-root-user        # every cache id
php bin/php/ezcache.php --list-tags --allow-root-user       # every tag
php bin/php/ezcache.php --clear-tag=ini --allow-root-user   # the INI and global INI caches
php bin/php/ezcache.php --clear-id=template-block --allow-root-user
php bin/php/ezcache.php --clear-all --allow-root-user       # everything: expensive on a busy site
./console exp:velocity cache clear --apply                         # Velocity's response cache

Zu den Cache-IDs in eZCache gehören content, template, template-block, template-override, ini, global_ini, translation, design_base, active_extensions, classid, urlalias, imagealias, user_info_cache, exphttpcache und querycache; die Tags sind content, template, ini, i18n, image und user. Jedes Leeren wird im Audit-Trail als system.cache.clear festgehalten, mit der Angabe, wer es getan hat.

Welche Änderung welches Leeren braucht

Sie haben geändertLeeren Sie
Eine vorhandene .tpl-Dateitemplate, wenn das gerenderte Ergebnis veraltet aussieht, und den View-Cache der Seiten, die sie verwenden
Eine neue Template-Datei oder eine neue Override-Regeltemplate-override (sonst wird die neue Datei nicht gefunden)
Eine INI-Datei--clear-tag=ini; unter Velocity außerdem neu starten
Eine PHP-Klassedie Klassenzuordnungen neu erzeugen, PHP-FPM neu laden, Velocity neu starten (Eine Änderung bereitstellen)
Ein Stylesheet oder Skript eines Designsden Packer-Cache (ezjscore-packer) und template-block
Eine Übersetzungtranslation
Inhalte, über den Kernelnichts: der Kernel invalidiert
Die Datenbank, von außen (Wiederherstellung, SQL-Client)querycache, content und die HTTP-Caches

Die Reihenfolge zählt

Laden Sie zuerst den neuen Code, leeren Sie Seiten-Caches zuletzt. Eine Seite, die der alte Code zwischen einem Leeren und dem Neuladen von PHP-FPM oder Velocity rendert, wird erneut zwischengespeichert und so ausgeliefert, als hätte die Änderung nicht gewirkt. exp:velocity deploy führt die Schritte in dieser Reihenfolge aus (Kompatibilität, Releases und Bereitstellung).

Regeln für Code, der zwischenspeichert

  • Cache-Dateien müssen über eZClusterFileHandler::instance() geschrieben werden, nicht mit direkten Dateiaufrufen, damit Installationen im Cluster funktionieren.
  • Registrieren Sie einen eigenen Cache mit einer ID und einem Tag, damit ezcache.php, exp:cache und Setup > Caches ihn leeren können (Caching in Anwendungen).
  • Schlüsseln Sie einen Cache nach allem, was seinen Inhalt ändert: dem Zugriffskontext des Benutzers, dem Siteaccess, der Sprache.
  • Ein inhaltsabhängiger Cache hört auf das Event content/cache oder schlüsselt nach der Änderung der Inhalte, damit ein Veröffentlichen ihn erreicht.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x