API-Referenz
Seiten-Cache
Öffentliche Seiten werden nach dem ersten Rendern im Arbeitsspeicher zwischengespeichert und danach direkt ausgeliefert – ohne Datenbankzugriff und Template-Rendering.
- Schlüssel: Website + Pfad + Query-String (
/blog?seite=2ist ein eigener Eintrag; gleiche Pfade verschiedener Websites sind getrennt). - Ablauf: Einträge verfallen spätestens um Mitternacht (Serverzeit), damit
todayin Templates stimmt. - Invalidierung: Jede erfolgreiche Änderung über die API (Seiten, Snippets, CSS/JS, Collections, Einträge, Dateien, REST-Quellen, Workflows – auch Änderungen, die ein Workflow über die API vornimmt) und jeder abgeschlossene Import leert den gesamten Cache. Read-only-Aufrufe wie die Vorschau,
POST /markdownoderPOST /sources/testlassen ihn unberührt. - REST-Quellen: Nutzt eine Seite
data()mit einer REST-Quelle, bleibt sie höchstens so lange im Cache wie derencache_ttl. Beicache_ttl: 0wird sie nicht gecacht. - Ausnahmen: Seiten mit
no_cache: true, Admin-Vorschauen (?preview=1), 404- und Fehlerseiten werden nie gecacht. - Größe: Begrenzt über die Startoption
-cache-mb(Standard 128,0= aus); bei Überschreitung fliegen die am längsten nicht genutzten Seiten raus. - HTTP: Antworten tragen
ETagundCache-Control: no-cache– Browser fragen perIf-None-Matchnach und erhalten bei unveränderten Seiten304 Not Modified. gzip wird einmal pro Eintrag vorberechnet. Der HeaderX-CachezeigtHIT,MISSoderBYPASS.
GET /cache 🔑
{ "enabled": true, "entries": 42, "bytes": 3145728, "max_bytes": 134217728, "hits": 1290, "misses": 57 }
DELETE /cache ✏️
Leert den Cache manuell. 204.