On joue à cache-cache ?
Je crois que c’est le titre le plus pourri que j’ai jamais fait
mais bref ! on va bien evidemment pas jouer à cache-cache (quoique ^^), mais parler de mise en cache !
La mise en cache de fichiers peut être très utile, notemment si on appelle régulierement des flux RSS/XML (par exemple si on utilise des Webservices), ou même sur des requêtes MySql qui reviennent souvent. Le gain en performances est tout à fait appréciable !
Le principe est on ne peut plus simple : au lieu d’effectuer une requête vers une ressource à chaque chargement de la page, on écrit lors du premier chargement le contenu de la ressource dans un fichier texte, qu’on appellera par la suite !
Mettre un menu dynamique en cache peut être une très bonne idée pour optimiser le chargement d’un site web
L’exemple qui suit vous présente l’utilisation de la mise en cache sur un flux RSS.
// recuperation du flux à traiter
$flux = ‘http://feeds.feedburner.com/jegalereendevweb’;
$cache_file = ‘/cache/jegalere.xml’;
// determination du temps de mise en cache (en secondes) : ici, 2h
$delai = (60*60*2) ;
// on verifie que le fichier est cache est toujours valide
if ( file_exists($cache_file) && time() < (filemtime($cache_file)+$delai) ) {
// le fichier en cache est valide, on le récupère
$content = file_get_contents($cache_file);
}
// sinon, on met à jour le fichier en cache
else {
$content = file_get_contents($flux);
if ( $content != ” ) {
$file = fopen($cache_file, ‘w+’);
fputs($file, $content);
fclose($file);
}
else {
$content = file_get_contents($rss_file);
}
}
Et voila !
Il ne reste plus qu’à parser la variable $content de la manière que vous préférez, et c’est plié !
Tags : cache, mysql, php, RSS.







Le 25/03/2008 à 11:18
Il y a un problème je crois
// determination du temps de mise en cache (en secondes) : ici, 2h
$delai = (60*2) ;
Le 25/03/2008 à 21:23
certes ^^
Le 29/03/2008 à 5:43
Super pratique mais le seul hic c’est que les vérification sont par un temps fixé, ça serait mieux que l’ont effectue un nouveau cache que si les donner on été modifier.
Le 03/04/2008 à 9:56
Humm pas sur que niveau optimisation il soit mieux de comparer le cache au RSS que de directement le remplacer car cela implique d’ouvrir le cache, de parcourir le RSS, de les comparer etc etc…
Qu’en pensent les pros ? lol
Le 30/07/2008 à 3:31
Salut, juste un petit mot pour te féliciter, ce blog est tout simplement génial !
Clair, simple, convivial, bref continue surtout.
Cordialement, Almaju.
Le 24/10/2008 à 3:20
this look dog woman elephant glass student greed day day america wood no car