Katalog
concept#Architektur#Softwareentwicklung#Plattform#Zuverlässigkeit

Caching

Strategie zur temporären Speicherung häufig genutzter Daten zur Reduktion von Latenz und Last. Umfasst Formen wie In-Memory-, HTTP- und CDN-Caches sowie Regeln für Konsistenz, Invalidation und Kapazitätsmanagement.

Caching reduziert Latenz und Last, indem häufig genutzte Daten temporär näher an Verbraucher gehalten werden.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

Datenbank (als Origin)CDN-AnbieterMonitoring- und Observability-Stack

Prinzipien & Ziele

Explizite Konsistenzvereinbarungen: Definiere erlaubte Staleness-Garantien.Lokalität der Daten: Cache dort, wo Zugriffe am höchsten sind.Fail-safe und Fallback: Systeme müssen bei Cache-Ausfall korrekt degradiert werden.
Umsetzung
Unternehmen, Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Cache-Incoherence bei unzureichender Invalidierung
  • Hotspots und Thundering-Herd-Probleme
  • Erhöhte Kosten durch redundanten Speicherbedarf
  • Explizite Invalidation-Strategien und versionierte Keys
  • Verwendung von Cache-Metriken für Kapazitätsentscheidungen
  • Definierte Fallbacks und Retry-Strategien bei Cache-Ausfall

I/O & Ressourcen

  • Lastprofile und Abfrage-Metriken
  • Datenzugriffs-Muster (Hotspots)
  • Betriebsanforderungen (SLAs, Konsistenz)
  • Reduzierte Latenz und Backend-Last
  • Metriken zu Trefferquote und Evictions
  • Dokumentierte Cache-Topologie und Policies

Beschreibung

Caching reduziert Latenz und Last, indem häufig genutzte Daten temporär näher an Verbraucher gehalten werden. Es umfasst Strategien für Platzierung, Konsistenz, Invalidation und Kapazitätsmanagement sowie verschiedene Cache-Typen (in-memory, CDN, HTTP, Datenbank). Geeignet für Performance-Optimierung, erfordert jedoch Trade-offs bei Konsistenz und Komplexität.

  • Reduzierte Latenz und schnellere Antwortzeiten
  • Geringere Last auf Backend-Systemen
  • Bessere Skalierbarkeit bei Lese-intensiven Workloads

  • Staleness: Caches liefern eventuell veraltete Daten
  • Komplexität bei Invalidierung und Konsistenz
  • Zusätzlicher Betriebsaufwand (Monitoring, Kapazitätsplanung)

  • Trefferquote

    Verhältnis von Cache-Treffern zu Gesamtabfragen; Indikator für Effektivität.

  • Latenz (P95)

    95. Perzentil der Antwortzeiten mit Cache im Pfad; misst Nutzererfahrung.

  • Evictions pro Sekunde

    Anzahl der Cache-Auschlüsse aufgrund von Speicherknappheit; zeigt Kapazitätsprobleme.

Redis als L2-Cache für Nutzerprofile

Einsatz eines zentralen Redis-Clusters zur Entlastung der Datenbank-Leseoperationen und Verbesserung der Antwortzeiten für zugriffsintensive Profilabfragen.

CDN-Caching für statische Web-Assets

Bereitstellung statischer Assets über ein CDN mit kontrollierten Cache-Control-Headern und gezieltem Cache-Busting bei Deployments.

HTTP-Response-Caching mit RFC-konformen Headern

Verwendung von Expires, Cache-Control und ETag zur effektiven Nutzung von Browser- und Proxy-Caches für öffentliche Inhalte.

1

Analyse der Zugriffsmuster und Identifikation geeigneter Cache-Grenzen

2

Auswahl von Cache-Typ und Technologie, Konfiguration von TTL und Invalidation

3

Einführung von Monitoring, Load-Tests und schrittweiser Rollout

⚠️ Technische Schulden & Engpässe

  • Ad-hoc implementierte Cache-Keys ohne Versionierung
  • Keine dokumentierten Invalidierungsregeln
  • Monolithische Cache-Instanzen, die schwer zu skalieren sind
NetzwerklatenzSpeicherkapazitätInvalidierungsdurchsatz
  • Caching hochfrequent schreibender Datensätze ohne geeignete Konsistenzlösungen
  • Verwendung von sehr langen TTLs für kritische, sich schnell ändernde Daten
  • Fehlende Überwachung von Evictions und Memory-Pressure-Indikatoren
  • Unterschätzung von Cache-Invaliderungs-Komplexität
  • Nicht beachten von Sicherheits- und Datenschutzaspekten bei geteilten Caches
  • Fehlende Berücksichtigung von Netzwerk-Latenz zwischen Cache und Clients
Netzwerk- und InfrastrukturkenntnisseVerständnis von KonsistenzmodellenErfahrung mit Caching-Systemen (z. B. Redis, Varnish, CDN)
LatenzanforderungenLeselast und SkalierbarkeitDaten-Konsistenzanforderungen
  • Begrenzter Arbeitsspeicher auf Knoten
  • Latenz zwischen Cache-Standorten
  • Regulatorische Vorgaben für Datenhaltung