Comment améliorer mon système de cache (mutualisé)?

WRInaute accro
Un de mes sites a apparemment foutu la pagaille récemment du fait de la taille de son cache (en terme de nombre de fichiers). Après discussion avec un administrateur au boulot, cela pourrait venir de l'utilisation de file_exists, qui lance des scans du répertoire (le problème vient du scan, selon l'hébergeur).

La mesure immédiate, ça va être de limiter la taille du cache.

A terme, je voudrais bien envisager d'autres manières de coder. La commande file_exists est-elle à proscrire? Faut-il mieux par exemple faire un @fopen et regarder la valeur de retour? Bref, avez-vous des conseils sur l'implémentation d'un système de cache qui ne "secoue" pas trop les mutualisés ;-)?
 
WRInaute impliqué
Tu peux essayer

Code:
$f_exists=(@fclose(@fopen( $file, "r")));

Cependant il ne me semble pas que file_exists parcourt l'ensemble du dossier, ce sont les fonctions comme glob() qui sont dangereuses de ce point de vue [à confirmer].
 
WRInaute accro
ecocentric a dit:
Un de mes sites a apparemment foutu la pagaille récemment du fait de la taille de son cache (en terme de nombre de fichiers). Après discussion avec un administrateur au boulot, cela pourrait venir de l'utilisation de file_exists, qui lance des scans du répertoire (le problème vient du scan, selon l'hébergeur).

Quelle est la structure de ton cache? Un seul répertoire avec des milliers de fichiers dedans? Effectivement à la longue ça peut bouffer pas mal de ressources pour pas grand chose. Il vaut mieux avoir une structure de fichiers un peu hiérarchique, genre tu mets le fichier abcdef1234 dans /a/b/abcdef1234 par exemple. A adapter en fonction de la structure de tes noms de fichiers pour que ce soit à peu près équilibré, et que le nombre de fichiers à un niveau donné n'excède jamais quelques centaines.

Jacques.
 
Discussions similaires
Haut