Cache Invalidation

Wprowadzenie

Cache Invalidation (Unieważnianie cache) to proces usuwania lub oznaczania jako nieaktualne danych przechowywanych w cache, gdy ulegną one zmianie w źródle. Jest uważany za jedno z najtrudniejszych zagadnień w informatyce.

„There are only two hard things in Computer Science: cache invalidation and naming things.”
— Phil Karlton

Problemy z unieważnianiem cache

  • Stale Data – użytkownik widzi stare dane
  • Cache Stampede / Thundering Herd – wiele zapytań jednocześnie uderza w bazę po wygaśnięciu cache
  • Over-invalidation – niepotrzebne czyszczenie cache, spadek wydajności
  • Under-invalidation – dane nie są aktualizowane

Strategie unieważniania cache

  • Time-based (TTL) – automatyczne wygaśnięcie po określonym czasie
  • Write-through – zapis do bazy i cache jednocześnie
  • Write-behind – zapis asynchroniczny
  • Event-driven Invalidation – powiadomienie cache po zmianie danych
  • Versioning – dodawanie numeru wersji do klucza cache
  • Stale-While-Revalidate (SWR) – popularne w Next.js
  • Cache Tagging – grupowanie cache i masowe unieważnianie

Cache Invalidation w AI i dużych systemach

  • Unieważnianie embeddingów i wektorów po fine-tuningu modelu
  • Cache promptów i odpowiedzi LLM
  • Cache RAG (Retrieval-Augmented Generation)
  • Versioning modeli AI w produkcji

Powiązane pojęcia

Cache • CDN • Stale-While-Revalidate • TTL • Cache Poisoning • Cache Stampede • Write-Through Cache • Redis • CDN Purging • Next.js Revalidation

Dodano: 16 maja 2026