Salut,
je viens de faire un système de cache pour de gros calculs en php3, et
l'exécution passe de 6 secondes à 0,5 seconde pour le listing de la base de
données "revues". Voici le code.
"$n,$bases,$separateur,$type" est n'importe quel identifiant unique de ce
qu'on veut "cacher".
$cache = "/www/monde-diplomatique/cache/bases/".basename($bases).
substr(bin2hex(md5("$n,$bases,$separateur,$type")),-10,-1).".shtml";
if (file_exists($cache) && (filectime($cache) > filectime($bases))){
$fd = fopen ($cache, "r");
$texte = fread ($fd, filesize ($cache));
fclose ($fd);
} else {
// ****** ici le vieux code qui crée la donnée ******* //
$fd = fopen ($cache, "w");
fputs ($fd, $texte);
fclose ($fd);
}