/kæʃ/kešTakékeš, cachováníPokročilý

Definice

Cache je mezipaměť, do které se ukládá výsledek náročné operace, aby se při dalším stejném dotazu nemusel počítat znovu. Vyměňuje čerstvost dat za rychlost a téměř vždycky přináší otázku, kdy uloženou hodnotu zahodit.

Kategorie: Webové technologieAktualizováno

Proč cache existuje

Některé operace jsou drahé: dotaz do databáze přes půl světa, vygenerování obrázku, výpočet ceny košíku. Pokud se stejný výsledek žádá opakovaně, je levnější si ho jednou spočítat a pak už jen podávat.

Kde vzniká problém

Cache je vždycky kopie. V okamžiku, kdy se originál změní, začne kopie lhát. Celá disciplína kolem cachování se proto netočí kolem ukládání, ale kolem invalidace: kdy uloženou hodnotu prohlásit za neplatnou.

Praktické řešení bývá kombinace časové platnosti a cíleného zneplatnění při zápisu.

Příklady z praxe

  1. HTTP cache v prohlížeči

    Server pošle u obrázku hlavičku Cache-Control s roční platností a do názvu souboru zahrne otisk obsahu. Prohlížeč pak obrázek nikdy nestahuje znovu, a když se obrázek změní, změní se i název souboru a stáhne se jako nový.

    Cache-Control: public, max-age=31536000, immutable

Časté omyly

MýtusCache vždycky zrychlí aplikaci.
Ve skutečnostiJen tehdy, když se stejná data žádají opakovaně. U dat, která se čtou jednou a pak už nikdy, cache jen přidá režii navíc a zabere paměť. Nízká úspěšnost cache umí být pomalejší než žádná cache.
MýtusStačí nastavit delší dobu platnosti a je hotovo.
Ve skutečnostiDelší platnost znamená vyšší úspěšnost, ale také delší dobu, po kterou uživatelé vidí zastaralá data. Rozumné nastavení vychází z toho, jak často se data mění a jak moc vadí, když jsou chvíli stará.

Časté dotazy

Jaký je rozdíl mezi cache a databází?
Databáze je zdroj pravdy: co je v ní, to platí. Cache je odvozená kopie, kterou je možné kdykoli zahodit, aniž by se cokoli ztratilo. Pokud by smazání cache znamenalo ztrátu dat, není to cache, ale úložiště.

Zdroje

  1. HTTP caching(otevře se v novém okně)MDN Web Docs, 2026
  2. RFC 9111: HTTP Caching(otevře se v novém okně)IETF, 2022

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.