Framework

Classe Cache

Table des matières

Introduction



Bien que les Systèmes de Gestion de Base de Données (SGBD) soient des machines de guerre en terme de performance et de temps d'accès aux données au vu de la quantité de données qu'ils ont à gérer, le temps passé lors d'une requête est loin d'être négligeable devant le temps de génération de la page. Non seulement les requêtes ne sont pas instantanées mais il faut aussi savoir que la communication entre l'interpréteur PHP et le serveur qui héberge le SGBD prend aussi beaucoup de temps, il faut donc à tout prix éviter le plus possible de faire des requêtes pour optimiser une application web.
Le problème c'est qu'on ne peut pas se passer de certaines données, comme les données de configuration par exemple. C'est là que le cache intervient.
Le principe du cache est de stocker des informations dont la durée de vie est assez longue et surtout dont l'utilisation est très fréquente. Le meilleur exemple serait un fichier de configuration. L'administrateur ne modifie pas les données très souvent et elles sont utiles à chaque demande de page. La mise en cache consiste à écrire ces informations dans un fichier et de les lire lorsqu'on en a besoin. La meilleure solution pour avoir une lecture très rapide est de créer un fichier PHP dans lequel on crée les variables et on les assigne. Il est ensuite inclus par le programme et on accède aux informations très rapidement.



Cette classe de gestion du cache ne fait pas une synchronisation à la base de données. Lorsqu'une valeur qui est mise en cache est modifiée, le fichier cache ne sera pas mis à jour automatiquement. C'est au développeur de savoir à quel moment il doit régénérer le cache. Le fichier cache n'est qu'une copie du contenu d'une certaine partie de la base de données à un instant donné, il est statique et pas dynamique. C'est pour cela qu'il faut lui indiquer quand mettre à jour son contenu.

Que fait cette classe ?



Cette classe, déjà instanciée dans l'objet $Cache permet de générer et de charger des fichiers cache. Il faut savoir pour pouvoir vérifier la validité de son propre cache que ces fichiers sont enregistrés dans le dossier cache.
Pour créer un fichier de cache ou le mettre à jour, il suffit de dire à la méthode comment remplir les informations du cache et elle se charge elle-même automatiquement de sa création.
Elle est aussi très utile pour le chargement d'un fichier. Certes on pourrait l'inclure manuellement, mais cette classe permet de régénérer le fichier lors de son chargement si ce dernier n'existe pas ou est corrompu. Elle est donc très facile d'utilisation et permet un important gain en terme de performances.

Méthodes



Voici la liste des méthodes éventuellement utiles pour le développement de modules. Les deux premières ne devraient jamais utilisées dans un module ou alors seulement dans des cas très particulier.


Comment l'utiliser pour mon module ?



Votre module doit indiquer au noyau le contenu du fichier cache que vous souhaitez régénérer. Vous trouverez toutes les informations nécessaires à ce sujet dans l'article fonction de génération d'un fichier cache.
Pour simplifier l'intégration et l'utilisation du système de cache de PHPBoost vous pouvez consulter un exemple complet d'intégration.
Cette page a été vue 2319 fois