Obsah

Caching (Kešování)

Caching řeší jeden z největších problémů výpočetní techniky – rozdíl v rychlosti mezi různými typy úložišť. Zatímco procesor (CPU) pracuje extrémně rychle, čtení z pevného disku nebo databáze přes síť je v porovnání s ním velmi pomalé.

1. Jak funguje proces kešování?

Když systém potřebuje data:

1. **Cache Hit (Zásah):** Podívá se do mezipaměti. Pokud tam data jsou, okamžitě je použije.
2. **Cache Miss (Minutí):** Pokud data v mezipaměti nejsou, musí je načíst z pomalého zdroje (databáze, disk), doručit uživateli a zároveň je **uložit do cache** pro příště.

2. Typy kešování v IT architektuře

Kešování probíhá na mnoha úrovních současně:

Úroveň Popis Příklad
HW Cache Přímo v procesoru (L1, L2, L3). Urychluje přístup k instrukcím CPU.
Web Cache V prohlížeči uživatele. Obrázky a CSS se nestahují při každém kliknutí.
CDN Rozmístěno po celém světě. Film z Netflixu se streamuje ze serveru v Praze, ne z USA.
Database Cache V operační paměti RAM. Výsledky častých SQL dotazů (např. Redis, Memcached).
DNS Cache V operačním systému. Pamatuje si IP adresu webu, aby se nemusel ptát DNS serveru.

3. Strategie obnovy (Cache Invalidation)

Největší výzvou kešování je zajistit, aby data nebyla zastaralá (stale data). Existují různé strategie:

4. Proč kešovat?

5. Úskalí: "Dva nejtěžší problémy"

V IT koluje slavný vtip: „V informatice existují jen dva těžké problémy: invalidace cache, pojmenovávání věcí a chyby o jedničku (off-by-one errors).“ Pokud zapomenete vymazat keš po aktualizaci ceny produktu, uživatelé uvidí starou cenu, i když v databázi je už nová.

Tip: Při vývoji webu můžete vynutit načtení dat bez mezipaměti prohlížeče stisknutím klávesové zkratky Ctrl + F5.

Zpět na Rozcestník