Edge-Caching-Strategien für React-Apps
Verwenden Sie Cache-Control-Header, Cloudflare KV und R2, um gerenderte Seiten und statische Assets am Edge zwischenzuspeichern.
Edge-Caching-Strategien für React-Apps ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Cache-Control-Header für Edge-Caching
Der Cache-Control-Response-Header steuert, wie lange Cloudflare (und andere CDNs) Ihre SSR-Responses cachen. Die wichtigsten Direktiven sind: max-age (Browser-Cache), s-maxage (Dauer des CDN-/Shared-Caches) und stale-while-revalidate (veraltete Inhalte ausliefern, während sie im Hintergrund erneut validiert werden).
s-maxage vs max-age
s-maxage wird von Shared-Caches (CDNs) berücksichtigt, während max-age für Browser-Caches gilt. Für SSR-Seiten möchten Sie typischerweise s-maxage=60 (der CDN-Cache speichert 60 Sekunden) und max-age=0 (der Browser validiert immer erneut), sodass alle Benutzer einigermaßen aktuelle Inhalte aus dem Edge-Cache erhalten.
SSR-Seiten mit stale-while-revalidate cachen
Wenn Sie stale-while-revalidate=30 zu Ihrem Cache-Control-Header hinzufügen, weist dies Cloudflare an, die gecachte Seite sofort auszuliefern und gleichzeitig im Hintergrund eine aktuelle Version abzurufen. Benutzer erhalten immer eine schnelle Antwort; die maximale Veraltung beträgt s-maxage + stale-while-revalidate Sekunden.
Personalisierte Seiten: Der Vary-Header
Personalisierte Inhalte (basierend auf der Benutzersitzung oder der Locale) dürfen nicht aus einem Shared-Cache an den falschen Benutzer ausgeliefert werden. Der Header Vary: Cookie weist Cloudflare an, jeden eindeutigen Cookie-Wert als separaten Cache-Eintrag zu behandeln. So wird verhindert, dass die Daten eines Benutzers an einen anderen Benutzer ausgeliefert werden.
Cache für authentifizierte Anfragen umgehen
Ein gängiges Muster besteht darin, im Worker nach einem Session-Cookie zu suchen, bevor entschieden wird, ob der Cache verwendet werden soll. Ist ein Session-Cookie vorhanden, umgehen Sie den Cache vollständig und rendern eine personalisierte Response. Ist kein Session-Cookie vorhanden, ist die Seite öffentlich und kann aus dem Cache ausgeliefert werden.
Cloudflare KV: Edge-Key-Value-Store
Cloudflare KV ist ein global verteilter Key-Value-Store, der Daten in der Nähe der Benutzer speichert. Sie können gerendertes HTML in KV cachen — speichern Sie die gerenderte Seite mit einer TTL als Wert, und lesen zukünftige Anfragen die Daten am Edge aus KV, statt sie erneut mit React zu rendern.
KV-Lese- und Schreib-Performance
KV-Lesevorgänge sind schnell, weil die Daten an den Edge-PoP repliziert werden, der die Anfrage bedient — die typische Latenz beim Lesen liegt unter 5 ms. KV-Schreibvorgänge verwenden dagegen eventual consistency: Ein Schreibvorgang in einer Region wird innerhalb von 60 Sekunden an alle globalen PoPs weitergegeben. Daher sehen einige Benutzer möglicherweise kurzzeitig veraltete Daten.
Cloudflare R2: Objektspeicher für größere Assets
Cloudflare R2 ist ein S3-kompatibler Objektspeicherdienst ohne Egress-Gebühren. Er eignet sich für größere Assets, die nicht in KV passen: WASM-Module, vorgerenderte OG-Bilder und große JSON-Datensätze. Workers greifen über Bindings genauso wie bei KV auf R2 zu.
Cache-Tags für granulare Invalidierung
Cloudflare Enterprise unterstützt Cache-Tags: Sie versehen eine Response mit Cache-Tag: product-42. Wenn sich Produkt 42 ändert, rufen Sie die Cloudflare-API auf, um alle mit product-42 markierten Responses zu löschen. So ist eine gezielte Cache-Invalidierung möglich, ohne den gesamten Cache zu leeren.
Cache-Invalidierung beim Deployment behandeln
Wenn Sie eine neue Version Ihres Workers deployen, verweist vorhandenes gecachtes HTML möglicherweise auf alte Dateinamen von JS-Bundles. Eine robuste Strategie besteht darin, die Deployment-Version in Ihre Cache-Keys aufzunehmen oder versionierte Bundle-Dateinamen zu verwenden (über Vites Content-Hashing), sodass altes HTML immer auf gültige, gecachte JS-Dateien verweist.
KV-basierte HTML-Cache-Implementierung
Ein Worker, der SSR-HTML in KV cached, folgt diesem Muster: Berechnen Sie einen Cache-Key aus der URL (und optional der Locale), prüfen Sie KV auf einen Treffer und geben Sie gecachtes HTML bei einem Treffer sofort zurück. Bei einem Fehlschlag rendern Sie mit React, speichern das Ergebnis mit einer TTL in KV und geben anschließend das frisch gerenderte HTML zurück.
Cloudflare-KV-Konsistenzmodell
Welches Konsistenzmodell verwendet Cloudflare KV für Schreibvorgänge?
Zusammenfassung der Lektion
Edge-Caching für React-Apps kombiniert mehrere Strategien: Cache-Control mit s-maxage für das CDN-Caching öffentlicher Seiten, Vary: Cookie, um die gemeinsame Nutzung personalisierter Responses zu verhindern, KV für am Edge gecachtes gerendertes HTML und Cache-Tags für granulare Invalidierung. Das Modell der eventual consistency von KV bedeutet, dass die Weitergabe von Schreibvorgängen bis zu 60 Sekunden dauern kann — planen Sie Ihre TTLs und Ihre Invalidierungsstrategie entsprechend.
Häufig gestellte Fragen
Ist die Lektion „Edge-Caching-Strategien für React-Apps“ kostenlos?
Ja — der vollständige Text von „Edge-Caching-Strategien für React-Apps“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Edge-Caching-Strategien für React-Apps“?
Verwenden Sie Cache-Control-Header, Cloudflare KV und R2, um gerenderte Seiten und statische Assets am Edge zwischenzuspeichern. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um React Academy zu starten?
Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Edge-Caching-Strategien für React-Apps“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?
Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Was ist Edge Rendering und warum ist es wichtig
- React auf Cloudflare Workers mit Hono
- Streaming-SSR am Edge
- Edge-Caching-Strategien für React-Apps