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é. |