Technik & Betrieb

Cache

Ein Cache ist ein Zwischenspeicher für Daten, die häufig gebraucht werden. Statt eine Seite bei jedem Aufruf neu zu berechnen, liefert der Server die gespeicherte Fassung aus – das ist um ein Vielfaches schneller.

Redaktionell geprüft von Alexander SeidlertwentyonepixelsStand:

Warum Zwischenspeichern so viel bringt

Eine Seite zusammenzubauen kostet Arbeit: Datenbank abfragen, Inhalte zusammenstellen, Vorlage füllen. Bei tausend Aufrufen dieselbe Arbeit tausendmal zu machen, ist Verschwendung, wenn sich am Ergebnis nichts ändert. Ein Cache hält das Ergebnis fest und gibt es direkt heraus.

Der Effekt ist selten klein. Seiten, die vorher mehrere hundert Millisekunden brauchten, antworten zwischengespeichert oft in unter fünfzig. Das ist unmittelbar spürbar und wirkt sich auf die Bewertung durch Suchmaschinen aus.

Welche Ebenen es in einer Website gibt

Mindestens vier: der Browser des Besuchers, ein vorgeschaltetes Auslieferungsnetz, der Webserver und die Anwendung selbst. Jede hat eigene Regeln, und ein Inhalt, der „nicht aktualisiert", steckt meist in einer davon fest — nur selten in der, die man zuerst leert.

Deshalb gehört zur Fehlersuche die Reihenfolge von außen nach innen: erst Browser, dann Netz, dann Server. Wer innen anfängt, leert dreimal und sucht weiter.

Wie eine Verfallsregel praktisch aussieht

Für Dateien mit Versionskennung im Namen: sehr lange Speicherung, weil eine Änderung einen neuen Namen erzeugt. Für Seiteninhalte: kurze Dauer plus gezieltes Verwerfen beim Speichern einer Änderung. Für alles hinter einer Anmeldung: gar keine gemeinsame Speicherung.

Diese drei Regeln decken den Normalfall ab. Wo sie nicht reichen, ist die Frage meist nicht technisch, sondern redaktionell: Wie lange darf dieser Inhalt veraltet sein?

Das eigentliche Problem: Wann wird verworfen?

Zwischenspeichern ist einfach. Schwierig ist die Frage, wann der gespeicherte Stand ungültig wird. Ändern Sie einen Preis und der Cache liefert weiter den alten, sehen Kunden falsche Angaben – im Zweifel tagelang.

Deshalb gehört zu jeder Zwischenspeicherung eine Regel, wann sie verfällt: nach einer festen Zeitspanne, oder gezielt beim Speichern einer Änderung. Die zweite Variante ist aufwendiger und deutlich verlässlicher. Wer zwischenspeichert, ohne das zu klären, tauscht ein Geschwindigkeitsproblem gegen ein Korrektheitsproblem – und das ist der schlechtere Handel.

Rechtsgrundlagen

Häufige Fragen zu Cache

Ohne Vorkehrung erledigen beide dieselbe Arbeit: Jede baut die Antwort vollständig neu auf, bei hundert gleichzeitigen Aufrufen geschieht das hundertmal. RFC 9111 nennt in Abschnitt 4 das Zusammenfassen wartender Anfragen zu einem einzigen Aufruf am Ursprung – als Möglichkeit, nicht als Pflicht; ein Cache darf bündeln, muss aber nicht. Die zweite Vorkehrung steht in RFC 5861: Mit stale-while-revalidate wird der abgelaufene Stand für die angegebene Dauer weiter ausgeliefert, während die Erneuerung im Hintergrund läuft.

Cache-Control: private – nach RFC 9111 Abschnitt 5.2.2.7 darf ein gemeinsam genutzter Cache eine so gekennzeichnete Antwort nicht speichern, ein privater im Browser des Besuchers dagegen schon. Abschnitt 1.3 trennt beide: privat heißt einem einzigen Nutzer zugeordnet, gemeinsam heißt Wiederverwendung durch mehrere. Der Schutz aus Abschnitt 3.5 greift nur bei Anfragen mit Authorization-Kopfzeile; eine Anmeldung per Sitzungs-Cookie fällt nicht darunter. Ohne private oder no-store kann der nächste Besucher die Seite des vorigen bekommen.

So viele, wie die Trefferquote offenlässt – sie ist die Zahl der Treffer geteilt durch alle Anfragen. Bei 95 Prozent erreichen von 1.000 Aufrufen immer noch 50 die Datenbank, und jeder dieser Fehltreffer führt die Abfrage in voller Länge aus. Nach einem Neustart oder einer Veröffentlichung ist der Zwischenspeicher leer, dann trifft die volle Last die ungebremste Abfrage. Ein Cache verbirgt eine langsame Abfrage, er behebt sie nicht.

Nein. RFC 9111 zählt in Abschnitt 3 auf, was ein Cache nicht speichern darf – no-cache steht nicht darin. Abschnitt 5.2.2.4 verbietet allein, eine so gekennzeichnete Antwort ohne Rückfrage beim Ursprungsserver erneut auszuliefern. Das Speichern untersagt erst no-store nach Abschnitt 5.2.2.5, und zwar für jeden Teil von Anfrage und Antwort. Wer no-cache setzt, um Vertrauliches von den Datenträgern fremder Zwischenspeicher zu halten, verwechselt die beiden Angaben.

Mehr zum Thema

9 Min. Lesezeit

INP verbessern: Interaction to Next Paint unter 200 ms

Die Search Console meldet einen schlechten INP-Wert, Lighthouse ist aber grün? Wie Sie die Ursache einer trägen Interaktion finden, welche Skripte typischerweise dahinterstecken und was den Wert zuverlässig unter 200 Millisekunden bringt.

9 Min. Lesezeit

Cookie-Banner-Pflicht: wann er nötig ist und wann nicht

Ein Cookie-Banner ist keine allgemeine Website-Pflicht, sondern die Folge bestimmter Werkzeuge. Welche Einbindungen ihn auslösen, warum „Ablehnen" auf die erste Ebene gehört und wie eine Website ganz ohne Banner auskommt.

Alle Fachbeiträge ansehen

Passende Leistungen

Performance-Optimierung

Analyse und Optimierung der Ladezeiten: Bundle-Analyse, Bild-Optimierung und Cache-Strategien für Top Core Web Vitals.

Mehr dazu

Hosting & Deployment

Ihre Web-App zuverlässig ausrollen und betreiben: automatische Deployments über GitHub Actions, gehostet auf Hetzner in der EU.

Mehr dazu

Progressive Web Apps (PWA)

Installierbare Web-Apps mit Offline-Fähigkeit und Push-Benachrichtigungen — App-Erlebnis ohne den Umweg über App Stores.

Mehr dazu