Solution de cache PHP --> jpcache v2
49 messages
• Page 1 sur 4 • 1, 2, 3, 4
-

dadovb - WRInaute passionné

- Messages: 2050
- Inscription: 22 Nov 2005
Solution de cache PHP --> jpcache v2
Bonjour à tous,
Loin de moi l'idée de vouloir concurrencer l'excellent script que vous propose fandecine, je souhaite juste vous présenter la solution de cache que je viens de mettre en place pour le site que je gère : jpcache v2.
Très simple à mettre en place, cette solution offre des gains d'utilisation de ressources assez impressionnants. Il n'est en place que depuis deux jours sur mon site, donc je ne peux pas vous donner un feedback perso (je ne sais même pas comment réaliser des benchmarks sur mon serveur BD...
), mais une petite recherche sur Google donne rapidement une idée des capacités de la bête.
De plus, jpcache utilise gzip pour encoder le contenu et alléger la taille des informations qu'il envoie au navigateur.
l'url : http://www.jpcache.com/
Traduction partielle du readme ( - pour les non-anglophiles) :
Voilà, je rajouterais une petite précision perso, j'ai eu un problème dans mon cas car j'ai une css pour ie et une autre pour tous les autres navigateurs.
J'ai donc créer deux tables pour stocker le cache dans ma BD car si la page a été mise en cache sous Firefox, et qu'elle est appellée après depuis IE, elle aura le css de firefox, comme tout est mis en cache.
Donc c'set juste une petite condition à rajouter :
Profitez-en bien !
Loin de moi l'idée de vouloir concurrencer l'excellent script que vous propose fandecine, je souhaite juste vous présenter la solution de cache que je viens de mettre en place pour le site que je gère : jpcache v2.
Très simple à mettre en place, cette solution offre des gains d'utilisation de ressources assez impressionnants. Il n'est en place que depuis deux jours sur mon site, donc je ne peux pas vous donner un feedback perso (je ne sais même pas comment réaliser des benchmarks sur mon serveur BD...
De plus, jpcache utilise gzip pour encoder le contenu et alléger la taille des informations qu'il envoie au navigateur.
l'url : http://www.jpcache.com/
Traduction partielle du readme ( - pour les non-anglophiles) :
Pré-requis :
- PHP 4.1.0+ avec Zlib activé
- MySQL si vous utilisez la version SQL
Vous pouvez choisir entre stockage dans la BD ou dans des fichiers.
Installation :
0) Télécharger à l'adresse http://sourceforge.net/project/showfile ... _id=173955
1) Décider si vous utilisez le stockage MySQL ou fichier
2) Copier le dossier jpcache à la racine de votre site web
3) Modifier jpcache.php : supprimer $includedir qui ne sert à rien si vous copier le dossier tel quel.
4) Modifier jpcache-config.php pour les paramètres de configuration :
- décommenter le paramètre JPCACHE_TYPE correspondant à l'utilisation que vous faire (MysQL ou fichier)
- si vous choisissez le mode fichier pensez à renseigner correctement $JPCACHE_DIR, dossier qui contiendra les fichiers générés et à donner à Apache les droits d'écriture dessus
- si vous choisissez le mode SQL, renseigner les paramètres de connexion à la base (host, database, username, passwd, table). Vous trouverez dans le dossier jpcache, le fichier script.sql qui contient la requete a éxécuter pour créer la table (donc juste un copier-coller à faire sous phpMyAdmin).
5) Vous pouvez facilement tester jpcache, en créant un fichier test.php dans le dossier jpcache :
- Code: Tout sélectionner
<?php
require "jpcache.php";
echo time();
phpinfo();
?>
Appelez la page dans votre navigateur, puis actualisez, si la date affichée n'a pas changé, c'est bon, jpcache fonctionne.
5) Pour mettre en place jpcache sur votre site, il suffit de rajouter au début de chaque page php :
- Code: Tout sélectionner
<? $cachetimeout=600; require "/path/to/jpcache/jpcache.php" ?>
$cachetimeout étant la durée en secondes pendant laquelle la page est conservée dans le cache.
- si elle est égale à -1, la page ne sera jamais mise en cache, mais le contenu sera envoyé en compressé, ce qui est déjà un gain de bande passante et de temps de chargement.
- si elle est égale à 0, le cache de cette page n'expirera jamais. Ce qui est très utile pour les pages statiques très lourdes.
Il est possible de mettre en cache la valeur des POST avec la page, d'activer/désactiver le cache, la compression des pages, le mode debug, très simplement dans jpcache-config, c'est juste des variables à passer à 0 (off) ou 1(on).
Voilà, je rajouterais une petite précision perso, j'ai eu un problème dans mon cas car j'ai une css pour ie et une autre pour tous les autres navigateurs.
J'ai donc créer deux tables pour stocker le cache dans ma BD car si la page a été mise en cache sous Firefox, et qu'elle est appellée après depuis IE, elle aura le css de firefox, comme tout est mis en cache.
Donc c'set juste une petite condition à rajouter :
- Code: Tout sélectionner
if (ereg("MSIE", getenv("HTTP_USER_AGENT"))){
$JPCACHE_DB_TABLE = "cache_ie"; // Table that holds the data - IE pages
}
else{
$JPCACHE_DB_TABLE = "cache_moz"; // Table that holds the data - Moz pages
}
Profitez-en bien !
-

dadovb - WRInaute passionné

- Messages: 2050
- Inscription: 22 Nov 2005
Au choix :
- mode fichier : plus rapide
- mode SQL : "it has much faster garbagecollection" ( je ne me lancerais dans une traduction française médiocre avec des histoires de "ramasses-miettes"...
). La mise à jour des tables d'allocation de mémoire est plus rapide en mode SQL, donc à voir selon les besoins.
- mode fichier : plus rapide
- mode SQL : "it has much faster garbagecollection" ( je ne me lancerais dans une traduction française médiocre avec des histoires de "ramasses-miettes"...
-

dadovb - WRInaute passionné

- Messages: 2050
- Inscription: 22 Nov 2005
guicara a écrit:As quoi sert ces genres de scripts ?
Sur un mutualiste sa le fait ?
Ca evite d'appeler le php et d'effectuer des requetes à chaque consultation de page dynamique.
L'internaute se connecte au site, il appelle donc la page index.php, php est appelé, il effectue des appels à la BD si nécessaire. Si la page est mise en cache pour 1 heure, pendant 1 heure, tous le sinternautes qui se connecteront à index.php, "recevront" dans leur navigateur la page en cache, donc pas besoin de réxécuter le php, ni les requetes vers la BD. --> gain de ressources plus ou moins important selon la longueur du script et surtout selon le nombre et la taille des requetes effectuées sur la BD.
Je pense que jpcache peut s'uiliser sans problème sur un mutualisé, car c'est juste du php.
-

serval2a - WRInaute accro

- Messages: 3457
- Inscription: 21 Mar 2005
Bonjour,
Je confirme.
Seul reproche, cela gère l'intégralité de la page d'où la necessité de passer par des includes lorsque l'on ne veut pas que la totalité de la page soit mise ne cache.
La sauvegarde sur fichier est de point de vue la plus utile effectivement.
Je confirme.
Seul reproche, cela gère l'intégralité de la page d'où la necessité de passer par des includes lorsque l'on ne veut pas que la totalité de la page soit mise ne cache.
La sauvegarde sur fichier est de point de vue la plus utile effectivement.
-

guicara - WRInaute passionné

- Messages: 2462
- Inscription: 2 Fév 2006
J'ai retrouvé çà pour qui veux:
http://www.webrankinfo.com/forums/viewtopic_28614.htm
http://www.webrankinfo.com/forums/viewtopic_43933.htm
Excusez du double post
http://www.webrankinfo.com/forums/viewtopic_28614.htm
http://www.webrankinfo.com/forums/viewtopic_43933.htm
Excusez du double post
-

dadovb - WRInaute passionné

- Messages: 2050
- Inscription: 22 Nov 2005
guicara a écrit:Donc la page est mise en page X heures, minutes... ?
Avec cet outil, peux ont vider le cache ? Est il lourd ?
Faut-il mettre un code sur chaque page ?...
X c'est des secondes
vider cache : Si MySQL, tu vides la table ; si fichier, tu vides le dossier temp
2 lignes à rajouter sur les pages que tu as besoin de mettre en cache
-

dadovb - WRInaute passionné

- Messages: 2050
- Inscription: 22 Nov 2005
http://www.graphiques-kits.com/jpcache/jpcache.php
N'existe pas sur ton serveur, ca ne risque pas de fonctionner...
N'existe pas sur ton serveur, ca ne risque pas de fonctionner...
- gomoz
- WRInaute discret

- Messages: 230
- Inscription: 29 Déc 2004
si si mais jpcache.php appel un autre fichier de config qui lui n'est pas à l'emplacement attendu : evidement ca n'est pas forcement aussi simple qu'expliqué dans le readme mais c'est tout de même très pratique comme outil je trouve.
-

guicara - WRInaute passionné

- Messages: 2462
- Inscription: 2 Fév 2006
J'ai tout supprimer sa m'a gonflé ce truc ^^
Je reprend çà sa soir, merci
Faut il faire çà
http://www.graphiques-kits.com/jpcache/jpcache.php
Ou mettre tous le contenu de jpcache à la racine ?
http://www.graphiques-kits.com/jpcache.php
Je reprend çà sa soir, merci
Faut il faire çà
http://www.graphiques-kits.com/jpcache/jpcache.php
Ou mettre tous le contenu de jpcache à la racine ?
http://www.graphiques-kits.com/jpcache.php
49 messages
• Page 1 sur 4 • 1, 2, 3, 4
Lectures recommandées sur ce thème :
- Refuser la mise en cache de ses pages : Bonne solution
- Solution PHP
- Recherche / magazine PHP SOLUTION
- Sitemap XML ou PHP, la meilleure solution ?
- [php] [solution] écrire en français le temps écoulé entre deux dates
- Cache PHP
- Cache PHP et sécurité
- APC Cache pour PHP
- Problème de mise en cache de pages PHP
- [script] Mise en cache des pages PHP - V2
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- Le cache de Google : description, explications - 06-09-2008
- Nouvel article : "Google en résumé" - 13-03-2003
- L'algorithme de Google en résumé (mars 2003) - 04-03-2003
- Utiliser Actifpub pour l'intégration d'un flux RSS externe sur son site - 15-09-2004
- Contrer une redirection 302 intempestive... - 29-03-2005
- Yagoort : Yet Another Google Rank Test - 24-03-2005
- Explications sur le Crawl Caching Proxy de Google - 26-04-2006
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

