Kategórie
PHP

Cachovanie stránok v PHP

Asi niekedy začiatkom tohto roku som kompletne prekódoval moju homepage. Znovu som použil PHP framework Qcodo, avšak novšiu a robustnejšiu verziu a ako som zistil až keď bol web nahraný na server, tak len samotná inicializácia frameworku trvala 0,3 sekundy. Niet sa čomu čudovať, je to starý kamarátov server s 430 MHz CPU.

Aj vďaka tomu, že len inicializácia frameworku zaberala 0,3 sekundy vygenerovanie niektorých stránok trvalo až 0,7 sekúnd, čo je celkom otravné a tak som sa rozhodol vyriešiť to. Ako najreálnejšia možnosť mi prišlo cachovanie vygenerovaných stránok, ešte pred inicializáciou Qcodo frameworku.

Z webu som vyhodil zobrazovanie času za aký bola stránka vygenerovaná, pretože s cachovaním by to nemalo zmysel a napísal som si triedu pre cachovanie.

MyCache.class.php:


A použitie v PHP kóde danej stránky je nasledovné:


Ako vidíte, tak použitie triedy MyCache je veľmi jednoduché. Trieda sa sama stará o to kam sa súbor uloží a názov cache súboru sa generuje automaticky z URI stránky. Trieda nemá ošetrené zmeny stránok a o toto sa treba postarať manuálne. Napríklad pri pridávaní novinky, alebo príspevku do boardu sa o vymazanie cache stará skript pracujúci s novinkami/príspevkami.

Tento spôsob cachovania je vhodný len pre stránky s takmer statickým obsahom, presne ako je moja homepage a slúži len na cachovanie celých stránok. V mojom prípade sa rýchlosť načítania zmenila z 0,7 sekúnd na okamžite ;). Ak by ste chceli cachovať len časti stránok, tak si môžete triedu upraviť, alebo si prečítajte článok o cachovaní do súboru na phpblog.sk.

1 odpoveď na “Cachovanie stránok v PHP”

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *