Caching-Strategie: Mehrschichtige Leistungsoptimierung

Dieser Artikel erklärt, wie wir Caching auf jeder Ebene nutzen, um schnelle Seitenladezeiten weltweit zu liefern.

Das Problem: Ungecachte Anfragen sind langsam

Ohne Caching erfordert jeder Seitenaufruf:

  • Datenbankabfragen: Abrufen von Produktdaten, Lagerbeständen, Preisen

  • API-Aufrufe: Externe Dienste für Versandkosten, Zahlungen

  • Berechnungen: Preisberechnungen, Verfügbarkeitsprüfungen

  • Bildladen: Produktbilder, Thumbnails

Caching eliminiert wiederholte Arbeit, indem Ergebnisse zur Wiederverwendung gespeichert werden.

Die Lösung: Mehrschichtiges Caching

Wir cachen auf fünf Ebenen:

  1. Browser-Cache: Das Gerät des Benutzers speichert statische Assets
  2. CDN-Cache: CloudFront-Edge-Standorte cachen Inhalte global
  3. Anwendungs-Cache: Valkey speichert häufig abgerufene Daten
  4. Datenbank-Cache: Valkey sitzt vor der Datenbank
  5. AI-Cache: DeepSeek cached System-Prompts

Caching-Ebenen

Browser-Caching (CloudFront)

CloudFront bietet Browser-Caching mit geeigneten TTLs:

  • Bilder: Lange TTL (24-72 Stunden)

  • CSS/JS: Versioniert mit Cache-Busting

  • API-Antworten: Kurze TTL oder kein Cache

CDN-Caching (CloudFront)

CloudFront cached Inhalte an Edge-Standorten:

  • Statische Assets: Produktbilder, CSS, JS

  • Produktseiten: 24-Stunden-TTL

  • Abfrageseiten: 24-Stunden-TTL

  • API-Antworten: Kein Caching

Anwendungs-Caching (Valkey)

Valkey bietet In-Memory-Caching:

Datenbank-Caching

Valkey sitzt vor der Datenbank:

  • Produktdaten: Für die Leistung gecacht

  • Teilekosten: Gecacht für Preisberechnungen

  • SKU-Listen: Gecacht für Produktlisten

  • Image-Manifeste: Gecacht für das Laden von Bildern

AI-Caching (DeepSeek)

DeepSeek bietet Prompt-Caching:

  • System-Prompts: Für Effizienz gecacht

  • Cache-Treffer: Reduzieren den Token-Verbrauch

  • Cache-Fehler: Generieren neuen Inhalt

Übersetzungs-Caching

Übersetzungs-Caching verwendet mehrere Ebenen:

  • Valkey: Phrasentabellen im Arbeitsspeicher gecacht

  • Dateien: Phrasentabellen persistent in JSON-Dateien gespeichert

  • Fallback: Legacy-Hash-basierter Cache für Abwärtskompatibilität

Cache-Invalidierung

Wir invalidieren Caches, wenn:

  • Produktaktualisierungen: Produkt-Caches invalidieren

  • Bestandsänderungen: Lagerbestands-Caches invalidieren

  • Inhaltsaktualisierungen: Seiten-Caches invalidieren

  • Übersetzungsaktualisierungen: Übersetzungs-Caches invalidieren

Cache-Organisation

Valkey-Caches sind nach Funktion organisiert:

  • Sitzungen: Benutzerauthentifizierungsstatus

  • Autovervollständigung: Daten für Suchvorschläge

  • Beliebte Abfragen: Häufig gesuchte Begriffe

  • Phrasen-Mappings: Daten zur Filterextraktion

  • Teilekosten: Daten für Preisberechnungen

Zusammenfassung

Unsere Caching-Strategie bietet:

  • Mehrschichtig: Browser, CDN, Anwendung, Datenbank

  • Effizient: Valkey für schnellen In-Memory-Zugriff

  • Intelligent: AI-Prompt-Caching für Kosteneinsparungen

  • Zuverlässig: Mehrere Fallback-Mechanismen