Keš - Jet\Cache

Jak víte z předchozích kapitol, tak keš je velice důležitý element například pro MVC, ale v praxi pochopitelně nejen tam. Do keše je vhodné ukládat vše co se mnohem častěji čte než mění a co zároveň zabírá nějakou významnou porci času při sestavování dat. Ale to přece moc dobře víte.

Vlastně o tom píšu hlavně z toho důvodu, abych vysvětlil, že třídy Jet\Cache* nejsou určeny pouze pro MVC i když jsou jím využívány. A na druhou stranu nejsou třídy Jet\Cache* univerzálním a ihned použitelným systémem pro vytvoření keše čehokoliv.

V praxi jsme dospěl k názoru, že keš je nutné přizpůsobit právě tomu účelu a tomu typu dat se kterými má pracovat. Je něco jiného ukládat do keše například předgenerovaný strom kategorií e-shopu a je něco jiného ukládat informace o produktech (když už jsem opět zabrousil do oblasti e-shopů), protože jedno je prostý záznam a u druhého budu potřebovat zároveň nějaké meta informace. Ovšem keš musí být rychlý a co tedy nejjednodušší systém. No a komplexní systémy co se svou univerzálností snaží obsáhnout celý vesmír a všechny jeho možnosti (což stejně není reálné) nejsou už z principu to nejmenší a nejjednodušší co můžete najít ...

Proto třídy Jet\Cache* představují pouze nízkoúrovňové operace - tedy backend keše. Takový backend, který agreguje opakující se operace, ale neřeší kontrolní logiku. Tedy například ukládá a čte data z/do souborů, ale již neřeší jak se soubory budou jmenovat. Nebo řeší komunikaci s Redis, ale již neřeší jaké budou klíče a tak dále. To je úkolem nadstavby nad těmito třídami, která kontroluje logiku práce s keší - například již zmíněné keše MVC.

Přehled backendů

Momentálně jsou k dispozici následující backendy:

Jet\Cache_Files Základní backend využívající pro ukládání dat soubory.
Jet\Cache_Redis Backend využívající Redis. Je důležitý pro opravdu velké projekty a pro provoz na více serverech.

Přehled metod - Jet\Cache

Metoda Význam
public static resetOPCache(
) : void
Postará se o reset PHP OP cache, což může být s ohledem na využívání souborů nutné.
Předchozí kapitola
AJAX - Jet\AJAX
Další kapitola
Jet\Cache_Files