Optimisation: Système de cache

Ça fait un petit moment que je n’ai plus donné de nouvelles du projet Newbie-Forum… C’est que je développe plusieurs autres sites en même temps, mon cerveau commence à saturer devant la tonne de travail (je ne suis pas multi-tâches à ce point ;) )

J’ai cependant réussi à me faire un petit système de cache à base de fichiers (quoi qu’on en dise, les systèmes de cache à base de fichiers sont beaucoup plus performants que ceux qui font de multiples requêtes sur le serveur de MySQL rien que pour ramener des enregistrements “cachés”, tout simplement parce que les systèmes d’exploitation sont conçus pour travailler avec des fichiers, pas avec des bases de données ce qui fait qu’ils sont optimisés pour leur ouverture et leur modification ;) )

Ce système de cache permet donc de réduire le nombre de requêtes :

  • Sur toutes les pages ( -1 requête pour la récupération des informations sur les utilisateurs connectés : l’information est mise à jour toutes les 180 secondes ce qui laisse en paix le serveur le reste du temps :) )
  • Sur la page principale ( -1 requête pour la liste des catégories qui n’est ainsi plus re-téléchargée et traitée à chaque chargement de page par un visiteur mais simplement chargée depuis un fichier de cache qui n’est mis à jour que quand une catégorie est ajoutée / modifiée / supprimée) :)
  • … et je cherche pour le reste des pages, sachant que je ne cache que les données qui en valent la peine, et qui sont les plus lourdes en terme de temps de récupération par SQL ;)

L’avantage indéniable de ma classe (recodée mais inspirée de celle présentée sur le Site du Zéro par Dr Night) est qu’il est extrêmement simple de cacher un élément sans modifier le reste du code ;)

Pour les intéressés, vous pouvez télécharger la première version de cette classe ci-dessous:

Poster un commentaire