Přeskočit na obsah
+420 774 147 594
Kontakt

Slovník

Caching

Caching (cachování) je praxe ukládání kopií dat nebo vypočítaných výsledků do dočasné úložné vrstvy, aby bylo možné budoucí požadavky na stejné informace obsloužit rychleji bez opakování původního výpočtu nebo síťového stahování. Ve webovém vývoji funguje cachování na více úrovních: cache prohlížeče ukládá statické soubory lokálně na zařízení uživatele, CDN cache distribuuje kopie obsahu na edge servery po celém světě, serverové cache jako Redis nebo Memcached drží v paměti výsledky databázových dotazů a vyrenderované stránky a aplikační cache ukládá vypočítaná data, aby se neopakovalo zbytečné zpracování.

HTTP cachování se řídí hlavičkami odpovědi, které prohlížečům a zprostředkujícím cache říkají, jak s uloženým obsahem nakládat. Hlavním mechanismem je hlavička Cache-Control s direktivami jako max-age, která určuje, kolik sekund zůstává odpověď platná, no-cache, která vyžaduje před použitím ověření u origin serveru, a no-store, která u citlivých dat cachování úplně zakáže. Hlavička ETag poskytuje otisk konkrétní verze zdroje a umožňuje efektivní podmíněné požadavky, kdy se prohlížeč serveru zeptá, zda je jeho cachovaná verze stále aktuální, místo aby celý zdroj stahoval znovu. Správně nastavené cache hlavičky dokážou odstranit většinu zbytečných síťových požadavků a dramaticky snížit jak zátěž serveru, tak dobu načítání pro vracející se návštěvníky.

Klasickou výzvou cachování je invalidace cache, proslule označovaná za jeden ze dvou těžkých problémů informatiky. Když se podkladová data změní, je nutné cachované kopie aktualizovat nebo smazat, aby uživatelé neviděli zastaralý obsah. Strategie se liší podle vrstvy: verzované názvy souborů s hashem obsahu zajistí, že prohlížeč při změně kódu stáhne nový JavaScript a CSS, purge API CDN umožňují programově vymazat cache při aktualizaci obsahu v CMS a serverové cache používají expiraci podle TTL nebo invalidaci řízenou událostmi, kterou spouštějí zápisy do databáze. Správně zvládnuté cachování přináší obrovské výkonnostní zisky; špatně zvládnuté vede k tomu, že uživatelé vidí zastaralý obsah a vývojáři tráví hodiny laděním toho, proč se změny neprojevují.

Potřebujete pomoc s projektem?

Proberme, jak můžeme přivést Vaši vizi k životu.
Získat nezávaznou nabídku