Am scris o mica clasa de cache bazata pe json scris in fisier, cu ajutorul ei dupa ce preluati date din baza de date, daca acestea nu sunt schimbate le serviti din aceste fisiere, de exemplu aveti nevoie de date de la un query imens ce dureaza 2-3 secunde, dupa ce va fi scris in fisier in loc de request de 2-3 secunde datele vor fi servite in cateva milisecunde. Mai jos va voi lasa codul php
<?php /** * @Package: Micul-Programator.ro simple cache * @Author: Marian * @$Date: 06/14/2014 * @Contact: [email protected] * @$Rev: 1 */ class mpCache { /** * Directorul unde vor fi stocate fisierele de cache */ private static $_dir = "cacheFiles/"; /** * Scrie un fisier .json in care vor fi stocate datele * @param string $identificator -> identifica in mod unic un fisier de cache * @param array $data -> array-ul cu datele primite de la baza de date * @return void */ } /** * Citeste un fisier .json si returneaza continutul acestuia * @param string $identificator -> identifica in mod unic un fisier de cache * @return array $data -> continutul fisierului de cache este returnat ca array */ public static function readCache($identificator = null) { } } /** * Sterge un fisier cache * @param string $identificator -> identifica in mod unic un fisier de cache * @return boolean */ public static function deleteCache($identificator = null) { return true; } return true; } return false; } } ?>
Si un mic exemplu
<?php include_once('cache.php'); 'id' => 1234, 'name' => 'Categorie pentru incepatori', 'description' => 'Aceasta este o categorie pentru incepatori, dar poate participa oricine', 'status' => 1, ); //Citeste un fisier cache $data = mpCache::readCache('cacheFile-'.$dbData['id']); print 'Se scrie in cache'; //Scrie un fisier cache mpCache::writeCache('cacheFile-'.$dbData['id'],$dbData); } else { print "Se citeste din cache <br />"; } //sterge un fisier cache //mpCache::deleteCache('cacheFile-'.$dbData['id']); ?>
Codul este si pe github in caz ca doriti sa ajutati cu dezvoltarea.