Přeskočit na obsah
TelegramWhatsApp

Slovník

Caching

Caching (cachovani, ukladani do mezipaměti) je technika ukladani kopii dat nebo vypocetnich vysledku na misto, odkud jsou rychleji pristupne nez z puvodniho zdroje. Misto opakovaneho stahovani stejneho obrazku ze serveru nebo opakovaneho dotazovani databaze na stejna data system pouzije ulozenou kopii. Vysledkem je dramaticke zrychleni odezvy, snizeni zateze serveru a lepsi uzivatelsky zazitek.

Ve webovem vyvoji existuje nekolik vrstev cachingu. Browser cache uklada staticke soubory (obrazky, CSS, JavaScript) primo v prohlizeci uzivatele, takze pri opakované navstevě se nemusí znovu stahovat. CDN cache distribuuje kopie obsahu na edge servery blize k uzivatelum. Server-side cache uklada vysledky databazovych dotazu nebo vyrenderovane HTML stranky v pameti (napr. Redis nebo Memcached), aby server nemusel opakovat narocne operace. Application-level cache uklada výsledky volani externich API nebo slozitych vypoctu.

Spravne nastaveni cache strategii vyzaduje rovnovahu mezi vykonem a aktuálností dat. HTTP hlavicky Cache-Control a ETag rizeni, jak dlouho prohližec uklada soubory a kdy si ma overit novou verzi. Strategie cache invalidace, tedy rozhodnuti, kdy starou kopii zahodit a nacist novou, je jednim z nejtězsich problemu v informatice. Pro staticke assety je osvedceny pristup cache busting pomoci hashe v nazvu souboru (napr. styles.a3b2c1.css), ktery umoznuje agresivni dlouhodobe cachovani a zaroven zajistuje okamzite nacteni nove verze při deploymentu. Pro dynamicky obsah je třeba peclivě zvazit TTL (Time To Live) podle toho, jak casto se data meni.