Créer un système de cache
Un système de cache est un ensemble de fonctions qui permet de diminuer le temps de création des pages en faisant un compromis avec l’espace disque ou la mise à jour des pages. Une des techniques de cache couramment utilisée est le cache par timeout, la technique est simple : on définit une période de mise à jour fixe pendant laquelle les données mises en cache resteront figées. Si des données proviennent d’un long traitement ou d’une grosse requête en base de données et que le rafraîchissement de l’information admet une période, l’utilisation d’un système de cache pourra augmenter les performances de l’application. On peut mettre presque tout en cache, aussi bien des données provenant d’un SGBD que du HTML ou encore des images. Pour ThiberNet, j’utilise moi-même une classe de cache qui permet de ne pas faire appel à ma base de données à chaque appel de page et donc optimiser les performances de ThiberNet.
La classe que je propose est vraiment très simple mais augmentera considérablement les performances de votre site si vous l’utilisez bien. Elle nécessite une autre classe File qui modélise un fichier et qui lui permet de sauver les informations sous forme de fichiers. Pour l’utiliser, vous devez créer une instance de Cache en faisant :
// période de 2 heures $cache = new Cache('cache/information.cache.php',60*60*2);
Ensuite pour l’utiliser utilisez la structure suivante :
if($cache->verify()) {
// Le cache est valide
echo $cache->get();
// On affiche le cache par exemple
} else {
// Le cache n'existe pas ou n'est plus valide
// Traitement qui génère l'information à mettre dans le cache
$information = foo(); // On rempli et affiche le cache
echo $cache->set($information); }
En effet le méthode set($contenu) renvoie le contenu qui lui est passé en paramètre pour une programmation plus propre. A noter que $information peut être de n’mporte quel type sérialisable : une chaîne, un tableau, un objet, …
Téléchargement : cache.tar.gz - 0.7 ko