Page en cache.

5 réponses
AuteurMessage

DarkSquall |
Membre

Photo de DarkSquall

Inscrit le : 27/08/2005

# Le 25/02/2006 à 16:11

Hello les gens.

Je me posait une simple question...

Mon site fonctionne bien sur tous les navigateurs (aparemment).

Ceci dit sous Opera, les pages en caches ne se mettent pas à jour...

J'ai penser faire :

<META HTTP-EQUIV="pragma" CONTENT="no-cache">

ou

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");

header("Cache-Control: no-cache, must-revalidate");

header("Pragma: no-cache");

(D'après ce que j'ai pu trouver comme solutions.)

Mais est-ce vraiment optimiser comme méthode?
Ca raffraichirai également toutes mes images?

Et si j'utiliserais un système de cache en php, ça ne poserais pas de soucis? (J'ai pas encore installé de système de cache, mais je vais devoir, mysql est beaucoup trop silicité... Bien que, le site doit avoir un max de dynamisme et peu de choses seront mises en cache...)

Enfin, si vous avez un avis sur la chose, ce serait intéressent.

Merci, et bonne journée.

Isyweb.comOuvrir dans une nouvelle fenetre

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 25/02/2006 à 17:37

Salut,

Pour le cache en php, je te recommande cache_lite. petit tuto ici :
http://www.toutjavascript.com/savoir/optimiser_cac...Ouvrir dans une nouvelle fenetre

Ca m'a fait economiser des milliers d'euros de serveur

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 25/02/2006 à 17:50

Si tu caches la page completement -> http://www.jpcache.com/Ouvrir dans une nouvelle fenetre

Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 25/02/2006 à 18:16

Attention à ne pas mélanger tous les caches.... un "cache de données", va permettre à ton serveur MySQL de souffler un peu et un "cache de pages", va allèger la charge coté PHP.

Mais aucun des deux n'aura la moindre influence sur les entêtes HTTP, et donc sur la gestion du cache du navigateur.

Si tu arrives à gèrer correctement le cache du navigateur, le site sera plus rapide pour les visiteurs (moins de données à transfèrer, moins d'interrogations serveur, etc), et la charge diminuée coté serveur (moins de trafic, moins de hits, moins de traitements PHP, etc). Si tu désactives complètement ce cache, tu vas avoir l'effet inverse...
En tous cas pour tes images, ça n'a absolument rien à voir... sauf si tu passes par PHP pour les envoyer...

Je précise toutefois que pour ma part le seul moyen réellement efficace que j'ai trouvé pour gèrer le cache du navigateur est d'avoir recours à des caches de données, ce qui permet ainsi de connaitre rapidement la date de dernière modification de la page (qui correspond à la plus récente date de modification des fichiers de cache composant la page).

JPCache fonctionne d'ailleurs un peu ainsi : c'est un cache de "page", c'est à dire qu'il ne met pas en cache les données, mais tout le résultat de la page. Il en profite également pour envoyer les "bons" entêtes HTTP permettant la gestion du cache du navigateur.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

DarkSquall |
Membre

Photo de DarkSquall

Inscrit le : 27/08/2005

# Le 25/02/2006 à 22:42

J'ai du mal m'exprimer...

Je n'aurais peut être pas du parler de système de cache.

Je précisait juste que je comptais utiliser un système de cache, bientot.

Je demandais donc si ce genre de meta, ne conflictuerais pas avec un système de cache eventuel...

(Je suis pas sûr d'être clair, mais bon...)

Sinon, tant qu'on parle des système de cache...
Les images sont nommées avec l'id du membre par exemple, et en plus, un numéro généré de 2 chiffres, qui se met à jour au cas ou il changerai son avatar, pour qu'il se mette à jour. exemple : membre numéro 154, avatar : img/154.jpg?78

Sinon, je penses utiliser jpcache, qui me semble plus simple à installer, car au début je voulais mettre le système pear cache, là...

Isyweb.comOuvrir dans une nouvelle fenetre

superfc | Florent
Membre

Photo de superfc

Inscrit le : 01/07/2006

# Le 01/07/2006 à 18:36

Avec retard, je réagis :

J'ai développé un système de cache en PHP qui a l'avantage d'être minimal (donc très rapide) et suffisant pour lui donner n'importe quel application. On lui donne une page (ou un élément de page) à mettre en cache, il en fait un MD5 et l'inscrit dans la base de données.
La lecture de cache se fait elle sans aucun accès à la base de données.
Toutes les 10 minutes, un script de nettoyage supprime les pages dont la date d'expiration est dépassée.

Il marche super bien, aussi bien pour le texte que pour les images, cependant, on ne l'utilise plus que pour un site où le contenu à mettre en cache dépend de l'utilisateur. Car pour la mise en cache de page, on utilise un serveur proxy/cache SQUID (c'est quand même je dirais 100 à 1000x plus rapide). AU départ, on mettait une IP pour Squid et une IP pour Apache.
Maintenant qu'on a deux serveurs, on met le premier sur Apache, et le deuxième avec ses deux IP pour Squid et un Apache minimal pour Nagios.

Voila voila... Tout ça pour vous dire, les caches PHP, ça vaut pas les caches natifs.

(Message édité le 01-07-2006 à 19h24 par superfc)

Florent Clairambault - http://florent.clairambault.frOuvrir dans une nouvelle fenetre
Gtalk : superfc@gmail.com

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 9:46:56 | Généré en 5.65ms | Contacts | Mentions légales |