sparh Posté 24 Mai 2009 Posté 24 Mai 2009 (modifié) Bonsoir, mes sites commencent à consommer et ils ralentissent de plus en plus. Je pense donc mettre ne place un système de mise en cache (pour commencer). J'ai trouvé un tuto: http://www.siteduzero.com/tutoriel-3-31906...-cache-php.html Mon problème: mon site est calculé en php avant l'affichage, puis j'affiche la page avec des <?php echo ... ; ?>. Or il y a des endroits qui ne doivent pas être mis en cache: par exemple le menu membre, les publicités etc. En gros il faudrai que je puisse en mettre en cache le résultats de mes requêtes sql? Merci d'avance pour votre aide ! Modifié 24 Mai 2009 par sparh
paolodelmare Posté 24 Mai 2009 Posté 24 Mai 2009 Tu as des librairies toutes prêtes et efficaces selon tes besoins : pear::cache et pear::cache_lite ou frameworks (zend, ci etc.) Pour les pubs, si c'est un code js, elle ne seront pas affectées par le cache. Après tout est une question de paramétrage afin de décider quelles pages tu souhaites placer en cache. Par ailleurs, de nombreux cms proposent un système de cache, d'origine ou par extension.
captain_torche Posté 25 Mai 2009 Posté 25 Mai 2009 Personnellement, je stocke l'intégralité de ma page dans un fichier, puis je cible avec des expressions régulières les zones à regénérer (menus, etc).
adn Posté 25 Mai 2009 Posté 25 Mai 2009 Pour les zones à regénérer, il te suffit de les mettre dans un javascript comme par exemple la date du jour, la fete du jour ou la pub. Ce sont en plus en général des zones sans intérêt pour le référencement et ainsi tu mets en cache la page complète.
captain_torche Posté 25 Mai 2009 Posté 25 Mai 2009 L'avantage de cette technique, c'est que si le site est bien fait tu peux afficher quelque chose même si le serveur SQL tombe en rade.
sparh Posté 25 Mai 2009 Auteur Posté 25 Mai 2009 Merci pour vos réponses, je vais travailler ça et reviendrai vers vous si j'ai d'autre questions
adn Posté 25 Mai 2009 Posté 25 Mai 2009 Personnellement, je stocke l'intégralité de ma page dans un fichier, puis je cible avec des expressions régulières les zones à regénérer (menus, etc). Pour info, comment cibles-tu ces zones pour la regénération ? Des commentaires à la syntaxe spécifique ou autre solution?
Dadou Posté 25 Mai 2009 Posté 25 Mai 2009 Pour moi c'est des commentaires avec une syntaxe specifique du type : <ul id="menu_principal"> <!-- BEGIN::MenuPrincipal //--> <li><a href="#">Accueil</a></li> <li><a href="#">pg1</a></li> ... <!-- END::MenuPrincipal //--></ul>
captain_torche Posté 25 Mai 2009 Posté 25 Mai 2009 Pour les remplacements simples, j'utilise des expressions qui ciblent en fonction de l'id de l'élément (Dans l'exemple de Dadou, typiquement id="menu_principal".
captain_torche Posté 25 Mai 2009 Posté 25 Mai 2009 Faut que le contenu soit relativement simple, comme dans ton exemple. Si c'est plus complexe, il faut faire effectivement ce que tu préconises (Il serait difficile de cibler de manière fiable des divs imbriqués, par exemple).
sparh Posté 25 Mai 2009 Auteur Posté 25 Mai 2009 (modifié) Ok, je vais opter pour la solution de Captain_Torche. Le hic, je suis nul en expression régulière. Donc si j'ai bien compris, je met tout en cache je cherche et remplace les parties qui doivent rester dynamique Dans le cas ci-dessous, tous ce qui est entre <!-- BEGIN::MenuPrincipal //--> et <!-- END::MenuPrincipal //--> <ul id="menu_principal"> <!-- BEGIN::MenuPrincipal //--> <li><a href="#">Accueil</a></li> <li><a href="#">pg1</a></li> ... <!-- END::MenuPrincipal //--></ul> Pourriez vous m'aider sur l'expression régulière à utiliser pour remplacer tous le contenu entre <!-- BEGIN::MenuPrincipal //--> et <!-- END::MenuPrincipal //--> Merci d'avance Modifié 25 Mai 2009 par sparh
Dadou Posté 26 Mai 2009 Posté 26 Mai 2009 Enfin, la elle est toute simple $code = '<ul id="menu_principal"> <!-- BEGIN::MenuPrincipal //--> <li><a href="#">Accueil</a></li> <li><a href="#">pg1</a></li> <!-- END::MenuPrincipal //--></ul>';echo eregi_replace('<!-- BEGIN::MenuPrincipal //-->(.*)?<!-- END::MenuPrincipal //-->', '<!-- BEGIN::MenuPrincipal //--><li>Mon texte remplacé</li><!-- END::MenuPrincipal //-->', $code);
sparh Posté 26 Mai 2009 Auteur Posté 26 Mai 2009 merci Pas si simple que ça! si t'as un bon site pour apprendre les regexp
captain_torche Posté 27 Mai 2009 Posté 27 Mai 2009 En plus avancé, cette page est une mine d'or : http://www.lumadis.be/regex/tuto_pcre.php
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant