EMZETT.
Login

Caching-Strategien und Cache-Invalidierung

Kurz: Ein Cache hält häufig gebrauchte Daten in schnellem Speicher. Schwierig ist, ihn aktuell zu halten: Es gibt Strategien wie Cache-Aside, Write-Through und Write-Back, und Daten müssen ungültig gemacht werden.

Genauer: Caches beschleunigen Zugriffe und entlasten Datenbanken, kosten aber Speicher und erzeugen die Gefahr veralteter Daten. Eine bekannte Aussage lautet, Cache-Invalidierung sei eines der schwersten Probleme der Informatik.

Im Detail

  • Cache-Aside: Anwendung prüft Cache, lädt bei Fehlen aus der Datenbank und füllt den Cache.
  • Write-Through: Schreiben geht in Cache und Datenbank. Konsistent, langsamer.
  • Write-Back: Erst in den Cache, später in die Datenbank. Schnell, Risiko bei Ausfall.
  • Invalidierung: TTL (Ablaufzeit), explizites Löschen beim Schreiben, Versionsschlüssel.
  • Verdrängung: LRU (am längsten ungenutzt), LFU (am seltensten genutzt).
  • Cache Stampede: Viele Anfragen laden gleichzeitig nach, wenn ein Eintrag abläuft. Gegenmittel: Sperre, vorzeitiges Auffrischen.
  • Trefferquote (Hit Rate): Wichtigste Kennzahl.

Siehe auch: Speicherhierarchie und Cache-Lines, Bloom-Filter und probabilistische Datenstrukturen