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-Schichten

Jeder Cache zwischen einem Besucher und der Datenbank einer Exponential-Website, in Reihenfolge - was jeder enthält, ob er ein- oder ausgeschaltet ausgeliefert wird, wo er liegt, welcher Server ihn nutzt und wie er…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/performance/caching-layers.md

On this page

This page is a translation. Read the English original

Cache-Schichten

Diese Seite ist für Systemadministratoren und Support-Mitarbeitende bei Hosting-Anbietern. Sie beantwortet: welche Caches eine Exponential-Website hat, vom Browser des Besuchers bis hinunter zur Datenbank, welche davon eingeschaltet ausgeliefert werden, wo jeder liegt, welcher Server ihn nutzt und wie jeder geleert wird. Damit kann ein Hoster entscheiden, was ein Tarif einschaltet, und der Support erkennen, woher eine veraltete oder langsame Seite kommt.

Inhalt

  1. Die Schichten auf einen Blick
  2. Vor dem Server
  3. Im Server, vor dem Kernel
  4. Im Kernel
  5. Unter dem Kernel
  6. Welche Schichten zwischen Servern geteilt werden
  7. Die Header lesen
  8. Was ein Tarif einschalten kann
  9. Checkliste

Die Schichten auf einen Blick

#SchichtAusgeliefertBedientGeleert durch
1Browser-Cache statischer DateienVelocity: StaticMaxAge=31536000; Apache: Ihr mod_expiresalleDateinamen, oder das Abwarten der Lebensdauer
2Browser-Cache von Seitenaus (site.ini [HTTPHeaderSettings] CustomHeader=disabled)anonyme Besucher, wenn eingeschaltetLebensdauer
3CDN, zwischenspeichernder Proxy oder der Seiten-Cache von LiteSpeed und OpenLiteSpeednicht Teil von Exponential (LiteSpeed: ein auskommentierter Block in .htaccess_root)wie Sie es konfigurieren; LiteSpeed: anonyme BesucherIhren Proxy; LiteSpeed: max-age; Exponential sendet kein Leeren
4Antwort-Cache von Velocityan unter Velocity (velocity.ini [CacheSettings] Enabled=enabled)anonyme Besucherexp:velocity cache clear
5Rollenbewusster HTTP-Cacheaus (httpcache.ini [HttpCacheSettings] Enabled=disabled)anonyme und angemeldete Besucher, je Berechtigungskontextbei Änderungen an Inhalten geleert; --clear-id=exphttpcache
6Statischer Cacheaus (site.ini [ContentSettings] StaticCache=disabled)anonyme Besucher, als Dateienbeim Veröffentlichen neu erzeugt
7Content-View-Cachean ([ContentSettings] ViewCaching=enabled)jeden BesucherÄnderung an Inhalten; --clear-tag=content
8Template-Block-Cachean ([TemplateSettings] TemplateCache=enabled)jeden BesucherAblauf; --clear-id=template-block
9Kompilierte Templates, INI- und Override-Cachesanjede Anfrage--clear-tag=template, --clear-tag=ini
10Redis oder Valkey für Views, Blöcke, INInur mit der Erweiterung sevenx_valkey_cachejede Anfragedas Leeren der Erweiterung; ihr Skript zum Leeren
11SQL-Abfrage-Cacheaus (querycache.ini [QueryCacheSettings] Mode=off)jede Anfrage, die er beantworten kannSchreibvorgänge in die gelesenen Tabellen; --clear-id=querycache
12OPcache, APCupro PHP-Prozessjede AnfrageNeuladen oder Neustart; Schaltflächen in Setup > Caches

Quellen: Caches, Kapitel 10, Abschnitt 10.6 und die unten verlinkten Seiten.

Vor dem Server

Browser. Velocity sendet Cache-Control mit einer Lebensdauer von einem Jahr für Stylesheets, Skripte und Bilder ([ServerSettings] StaticMaxAge); eine unter demselben Namen ersetzte Datei wird erst nach Ablauf erneut geholt. Seiten werden mit no-cache gesendet, es sei denn, [HTTPHeaderSettings] ist nur für anonyme Besucher eingeschaltet. Siehe HTTP-Cache-Header. Unter Velocity kann ein optionaler Navigations-Cache (ein Service Worker, /index.js und sw.js) wiederholte Besuche im eigenen Browser des Besuchers beantworten (Der Antwort-Cache, und dem Netzwerk aus dem Weg gehen).

CDN oder Proxy. Exponential sendet keine Anfragen zum Leeren oder Sperren an einen Proxy; einem Proxy, der Seiten speichert, muss gesagt werden, was er speichern soll und wie lange. Siehe Varnish und Reverse Proxys und CDN.

Der Seiten-Cache von LiteSpeed und OpenLiteSpeed. Auf diesen Servern kann der Webserver selbst Seiten aufbewahren: Der auskommentierte Block ## >>> LiteSpeed page cache in .htaccess_root (oder dieselben Regeln im virtuellen Host) speichert anonyme GET-Anfragen ohne Abfragezeichenkette, Sitzungs- oder Anmelde-Cookie für max-age Sekunden und beantwortet sie ohne PHP. Beim Veröffentlichen leert ihn nichts; er läuft ab. Siehe Seiten-Caching mit LiteSpeed und OpenLiteSpeed.

Im Server, vor dem Kernel

Antwort-Cache von Velocity. Hält gerenderte anonyme Seiten im Elternprozess und beantwortet wiederholte Anfragen, bevor ein Worker gewählt wird: kein Fork, kein PHP, keine Datenbank. Standard-Lebensdauer 30 Sekunden, stale-while-revalidate 60 Sekunden; angemeldete Besucher werden nie daraus bedient. Siehe Antwort-Cache von Velocity.

Rollenbewusster HTTP-Cache. Standardmäßig aus. Wenn an, hält er ganze Inhaltsansichten pro Berechtigungskontext (anonym, ein Rollenkontext, den Benutzer mit denselben Rollen teilen, oder ein privater Kontext) und liefert sie aus, bevor der Kernel startet: unter Apache oder PHP-FPM über einen frühen Ausstieg, der aus config.php eingebunden wird, unter Velocity aus dem Serverprozess. Er leert bei Änderungen an Inhalten (standardmäßig ContentChangePurges=all). Gemessen auf einer Referenzinstallation, eine Seite eines angemeldeten Benutzers unter Apache: 484 Anfragen pro Sekunde aus dem Cache gegenüber 4,3 gerenderten (HTTP-Cache).

Statischer Cache. Standardmäßig aus, und das Installationsbuch sagt, ihn auszulassen: Wenn er an war, erzeugte jede Veröffentlichung jede betroffene Seite über HTTP innerhalb der Anfrage des Redakteurs neu. Siehe Statischer Cache.

Im Kernel

CacheWas er enthältEinstellung
Content-View-Cacheden gerenderten Inhalt jeder Ansicht eines Knotenssite.ini [ContentSettings] ViewCaching
Template-Block-Cachecache-block-Fragmente von Templates[TemplateSettings] TemplateCache
Kompilierte Templateszu PHP kompilierte Templates[TemplateSettings] TemplateCompile
INI-, Override-, Übersetzungs-, Design-Cacheszusammengeführte Einstellungen und Nachschlagewerteimmer an
Bild-Aliasein der Größe geänderte Bilder, bei der ersten Ansicht erzeugtimage.ini

Wenn eine Änderung die View-Caches von [ContentSettings] CacheThreshold Knoten oder mehr (250 mitgeliefert) leeren würde, wird stattdessen jeder View-Cache der Website als abgelaufen markiert, und das Log meldet Expiring all view cache (Caches, häufige Fragen).

Mit der Erweiterung sevenx_valkey_cache können der Content-View-Cache, Template-Blöcke und der kompilierte INI-Cache statt in Dateien in Redis oder Valkey liegen. Siehe Valkey und Redis.

Unter dem Kernel

SQL-Abfrage-Cache. Standardmäßig aus. Mode=request entfernt wiederholte identische SELECTs innerhalb einer Anfrage; Mode=shared hält Ergebnisse über Anfragen hinweg in APCu oder Dateien. Gemessen auf einer Testinstallation unter Apache mit PHP-FPM ging eine gerenderte Startseite von etwa 0,6 s auf etwa 0,17 s, ohne dass eine Anweisung an die Datenbank ging (SQL-Abfrage-Cache). Er funktioniert mit den SQL-Treibern (1. SQLite 3, 2. PostgreSQL, 4. MariaDB, 5. Oracle über ezoracle, 6. MySQL); der Treiber für 3. MongoDB nutzt ihn nicht. Schreibvorgänge außerhalb von Exponential (eine Wiederherstellung, ein SQL-Client) sind für ihn unsichtbar: Leeren Sie ihn nach jeder Wiederherstellung.

OPcache und APCu gehören zu jedem PHP-Prozessbaum. Siehe OPcache und Abstimmung von PHP-FPM.

Welche Schichten zwischen Servern geteilt werden

Die Cache-Dateien liegen in var/, das sich Apache mit PHP-FPM und Velocity teilen: Das Leeren eines Caches in Setup > Caches erreicht beide. Zwei Dinge nicht (Caches):

  • Velocity hält Einstellungen im Speicher: Starten Sie es nach dem Leeren der INI-Caches neu.
  • Der Antwort-Cache von Velocity beantwortet Seiten aus seinem eigenen Speicher: Leeren Sie ihn mit exp:velocity cache clear.

APCu und OPcache gelten pro Prozessbaum. Auf mehreren Web-Knoten werden Dateien in einem geteilten var/ geteilt; APCu gilt pro Server (dafür gibt es Storage=file des Abfrage-Caches). Siehe Mehrere Web-Knoten.

Die Header lesen

HeaderGesetzt vonBedeutung
X-Cache: HIT, STALEdem Antwort-Cache von Velocityaus dem Cache beantwortet, oder aus einer abgelaufenen Kopie, während eine neue gerendert wird
Agedem Antwort-Cache von VelocitySekunden, seit der Eintrag gespeichert wurde
X-Exp-Cache: HIT, STALE, MISS (reason), BYPASS (reason)dem rollenbewussten HTTP-Cachewas er getan hat und warum
curl -sI https://example.com/ | grep -iE 'x-cache|x-exp-cache|age|cache-control'

Eine Seite, die der Antwort-Cache von Velocity beantwortet, trägt auch das mit ihr gespeicherte X-Exp-Cache, oft MISS aus dem Rendering, das beide Caches gefüllt hat (HTTP-Cache, sehen, was er tut).

Was ein Tarif einschalten kann

SchichtOption im TarifAchten Sie auf
Antwort-Cache von Velocityan bei Tarifen mit VelocityDefaultTtl ist, wie veraltet eine anonyme Seite sein darf
Rollenbewusster HTTP-Cacheeine Option für Websites mit vielen angemeldeten BesuchernSitzungen müssen in Dateien liegen, die jeder Server lesen kann
SQL-Abfrage-Cacherequest überall; shared mit bemessenem APCunach Wiederherstellungen leeren
Redis oder Valkeyeine Option, wo Sie den Server betreibendimensionieren, eine Verdrängungsrichtlinie setzen
Seiten-Header für Browser und CDNseine Option für Websites mit überwiegend anonymen Besuchernimmer OnlyForAnonymous=enabled
Statischer Cachenicht empfohlenKosten beim Veröffentlichen

Checkliste

  • To do: Der Tarif sagt, welche Schichten an sind und wer sie leert.
  • To do: Der Support kennt die Header oben und die Reihenfolge beim Leeren (Caches leeren und vorwärmen).
  • To do: Caches mit gerenderter Ausgabe werden erst geleert, wenn neuer Code läuft.
  • To do: Der Abfrage-Cache wird nach jeder Wiederherstellung der Datenbank geleert.
  • To do: Kein Proxy und kein CDN speichert Seiten, die von einem Sitzungscookie abhängen.

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