gestion de cache réparti sur plusieurs répertoires pour limiter le nb de fichier

Discussion dans 'Administration d'un site Web' créé par oli004, 21 Janvier 2009.

  1. oli004
    oli004 WRInaute passionné
    Inscrit:
    5 Janvier 2005
    Messages:
    1 629
    J'aime reçus:
    0
    gestion de cache réparti sur plusieurs répertoires pour limi

    Bonjour tout le monde,

    La gestion de fichier en cache est très utile pour limiter les ressources machine, et augmenter le temps d'affichage de page.
    Certes l'inconvenient qui en résulte est une augmentation de l'espace de stockage puisque chaque page mise en cache est en quelques sorte le moyen de créer des pages statiques à partir d'une seule page dynamique. (l'excellent article de fandecine explique le principe et propose même un script très fonctionnel)

    Pour ma part, sur un de mes sites, le temps d'affichage à été concidérablement réduit dès lors que j'ai géré la mise en cache sur mon serveur des pages dynamiques.

    Néanmoins, n'y a-t-il pas de limite, ou de gros inconvenient à ce que toutes ces pages soient stoquées dans un seul et même dossier.

    En l'occurence, j'ai pour le moment un peu plus de 5000 fichiers dans un répertoire cache, et lorsque je veux fouiner dedans, dia ftp par exemple, il arrive que le temps de réponse trop long pour afficher l'intégralité des fichiers fasse passer la liaison en sécurité pour time out.

    D'où ma question peut-on générer des pages dans divers repertoires de façon automatique. Par exemple lorsque le nb de page atteint 1000 dans un dossier ?
     
  2. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Tu peux avoir un système de cahe qui cache dans des répertoires aussi. Ca dépend de ton système donc.
    Tu utilises quoi?
     
  3. webmasterlamogere
    webmasterlamogere WRInaute passionné
    Inscrit:
    17 Décembre 2006
    Messages:
    1 646
    J'aime reçus:
    1
    sur mon www le cache reprend l'arborescence des catégories. Ca m'évite ce genre de soucis.
     
  4. oli004
    oli004 WRInaute passionné
    Inscrit:
    5 Janvier 2005
    Messages:
    1 629
    J'aime reçus:
    0
    j'utilise le principe de fandecine :

    Code:
    <?php 
    $urldemandee=$_SERVER['REQUEST_URI']; //on lit l'adresse de la page
    $urldemandee=ereg_replace('/','-',$urldemandee); // on tranforme l'adresse en nom de fichier
    if($urldemandee=="-") $urldemandee="-index.html"; // si l'adresse est la racine du site, on ajoute index.html
    $fichierCache="cache/cache".$urldemandee; // on construit le chemin du fichier cache de la page
    if (@filemtime($fichierCache)<time()-(3600*24*360)) { //si la page n'existe pas dans le cache ou si elle a expiré
       ob_start(); // on démarre la bufferisation de la page: rien de ce qui suit n'est envoyé au navigateur
       
    ?> 
    
    
    blabla
    
    <?php
    }
    
    
       $contenuCache = ob_get_contents(); // on recuperre le contenu du buffer
       ob_end_flush();// on termine la bufferisation
       $fd = fopen("$fichierCache", "w"); // on ouvre le fichier cache
       if ($fd) {
          fwrite($fd,$contenuCache); // on ecrit le contenu du buffer dans le fichier cache
          fclose($fd);
         }
    } else { // le fichier cache existe déjà
      include ($fichierCache); // on le copie ici
    }
    ?>
    
    
    Mes urls sont de la forme -http://ndd/page-1.html, -http://ndd/page-2.html, -http://ndd/page-n.html

    mes fichiers en cache sont donc de la forme cache-page-n.html

    Comment procéder par que les pages soient mises en cache dans divers répertoires dès que le nombre de fichiers en cache atteint 1000 ainsi :
    /cache/a/cache-page-1.html à cache-page-1000.html puis
    /cache/b/cache-page-1001.html à cache-page-2000.html etc .
     
  5. oli004
    oli004 WRInaute passionné
    Inscrit:
    5 Janvier 2005
    Messages:
    1 629
    J'aime reçus:
    0
    J'ajoute que je ne suis pas figé à une solution de 1000 fichiers. Ce peut par exemple générér un répertoire de cache chaque mois de l'année par exemple
     
  6. webmasterlamogere
    webmasterlamogere WRInaute passionné
    Inscrit:
    17 Décembre 2006
    Messages:
    1 646
    J'aime reçus:
    1
    tu peux faire une fonction qui détermine un répertoire de cache en fonction du numéro extrait avec une petite regex
    une division du numéro par 1000 permet de déterminer le numéro de répertoire
     
  7. oli004
    oli004 WRInaute passionné
    Inscrit:
    5 Janvier 2005
    Messages:
    1 629
    J'aime reçus:
    0
    C'est effectivement une solution que j'avais envisagée car c'est assez facile de manipuler des chiffres, d'où mon orientation première pour un répertoire tous les 1000 fichiers.

    Merci, je vais tester cette solution
     
  8. oli004
    oli004 WRInaute passionné
    Inscrit:
    5 Janvier 2005
    Messages:
    1 629
    J'aime reçus:
    0
    Re: gestion de cache réparti sur plusieurs répertoires pour limi

    Après quelques essais, la solution fonctionne parfaitement. Je note même un gain de temps à l'affichage.
     
  9. VisitezMonSite
    VisitezMonSite WRInaute impliqué
    Inscrit:
    7 Mai 2009
    Messages:
    735
    J'aime reçus:
    0
Chargement...
Similar Threads - gestion cache réparti Forum Date
Memcached/PHP gestion de sessions Développement d'un site Web ou d'une appli mobile 22 Juillet 2020
gestion des méta cache Demandes d'avis et de conseils sur vos sites 18 Décembre 2009
Gestion cache d'images distantes Administration d'un site Web 10 Décembre 2009
Apache : gestion du cache Administration d'un site Web 10 Décembre 2009
Gestion cache Joomla : pb avec balises title, keywords et description Développement d'un site Web ou d'une appli mobile 17 Janvier 2009
[PHP] Gestion de vos fichers caches Développement d'un site Web ou d'une appli mobile 10 Décembre 2007
gestion du cache côté serveur pour include() Administration d'un site Web 28 Juin 2006
Logiciel de gestion des réseaux sociaux Autres réseaux sociaux 29 Mars 2022
Gestion des produits supprimés en e-commerce e-commerce 24 Février 2022
Gestion NDD avec délégation des aspects techniques Administration d'un site Web 7 Janvier 2022
Suggestions de mots clés sur un liste de 15 000 mots Rédaction web et référencement 7 Décembre 2021
Gestion sous domaines et domaines dans Analytics Google Analytics 10 Septembre 2021
Gestion Canonical et Hreflang sur une home page multilangue Référencement international (langues, pays) 11 Août 2021
Gestion de la profondeur par Google Référencement Google 7 Juillet 2021
Gestion contenu JSON-LD versus contenu HTML. Développement d'un site Web ou d'une appli mobile 24 Mai 2021
Avis analyses SEO et suggestions Demandes d'avis et de conseils sur vos sites 29 Avril 2021
Récapitulatif Gestion du consentement pour Google Analytics Google Analytics 30 Mars 2021
Gestionnaire de vente Facebook : le compte marchand Facebook 26 Mars 2021
Centraliser la gestion des liens d'affiliation et publicités Monétisation d'un site web 26 Janvier 2021
Gestion sitemap.xml sur un site multilingue Crawl et indexation Google, sitemaps 5 Octobre 2020