Désactiver le cache de magpierss

Cet article concerne la gestion du cache avec magpierss.
La librairie GPL Magpierss qui permet de parser des flux XML en php possède son propre système de cache qui permet d’éviter de parser à chaque fois les fichiers XML en entrée. Ce cache est mis à jour périodiquement et est généralement assez efficace.
Le problème avec la gestion du cache, losque l’on parse beaucoup de fichiers RSS est que le fichiers générés peuvent prendre beaucoup de place. Ce dernier point peut être problématique pour les sites hébérgés sur du mutualisé, où la place est souvent limitée, voire le nombre de hits ou le traffic limité.
Dans le cas d’un nombre très élevé de flux, cela peut se traduire par l’inaccessibilité du site, voire par une tarfication supérieur de l’hébergeur.
Un moyen très simple, et très rapide permet de désactiver le cache de cette librairie. Il suffit d’aller dans le fichier
rss_fetch.inc puis de chercher la ligne suivante
define(’MAGPIE_CACHE_ON’,'nomdurepertoiredecache’);
et de la remplacer par
define(’MAGPIE_CACHE_ON’,false);
Le cache de magpierss sera donc par défaut désactivé.
Cependant si vous aviez besoin d’activer le cache pour certains flux, il est possible d’inclure dans votre code php, juste avant la fonction de fetch, la ligne suivante :
define(’MAGPIE_CACHE_ON’,'nomdurepertoiredecache’);
Il ne vous faudra pas par la suite oublier de remettre la valeur de ‘MAGPIE_CACHE_ON’ à false, afin de désactiver de nouveau le cache.
N.B. : En modulant le nom du repertoire dans le define avant l’appel de votre fonction de fetch, vous pouvez attribué un repertoire différent de cache pour chaque partie de votre site.
