Caches et identification

10 réponses
AuteurMessage

Zalex14 |
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 03/12/2007 à 12:41

Je travaille sur une prochaine version de partoch et je m'interroge sur le cache à utiliser.

Actuellement j'utilise jpcache sur les pages les plus consultées mais cela va me poser un problème sur la prochaine version au niveau du formulaire d'identification : si l'utilisateur n'est pas loggé j'affiche en haut de page un formulaire sinon j'affiche son identification (avatar, pseudo, etc..), un peu comme wmc.

Jpcache enregistre la page complète donc enregistrera l'identification de l'internaute qui lancera en premier la page. Ca pose problème...

J'utilise aussi Cache lite qui permet de faire un cache de données, donc seulement une partie de la page, mais il est nettement moins rapide, ce n'est pas un cache http.

Vous utilisez quoi vous ?
Il y a t il un moyen d'utiliser un cache http en modifiant une partie du cache avant de l'envoyer au client ou doit-on obligatoirement passer par un cache de données ?

Je pense notamment à intégrer l'identification par javascript mais ca va prendre un slot apache de plus...



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

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 03/12/2007 à 13:04

J'utilise cache_lite sur tout le site

Et sur certaines pages vraiment particuliere, je fais un str_replace avec les infos de la session

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

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 03/12/2007 à 13:06

Hello,

sur mes sites j'utilise les deux en fait : le cache http est "synchronisé" avec le cache de données, c'est ce qui lui permet de déterminer la date de dernière modification de la page.

Par contre la compression se fait à la volée, au contraire de jpcache qui stocke la version compressée sur le disque.

D'un autre coté on y gagne en accès disque : le cache de données est généralement de taille assez petite, et tient entièrement dans le cache disque. Tandis que le cache jpcache fait une taille astronomique à mon gout

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

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 03/12/2007 à 13:24

Dev : tu stockes l'integralité de toutes tes pages (header + contenu + footer ) ?

Bool : tu fais comment pour synchroniser un cache http avec un cache de données ?

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

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 03/12/2007 à 13:50

non, je stocke les morceaux de pages qui sont couteuses en cpu a générer : liste de produits, derniers avis, top produits, grahiques, ...
Mais uniquement la partie de contenu qui m'interesse
c'est pour ca que cache_lite est vraiment adapté a ce que je fais

header et footer sont générés a chaque fois
Mais ca prend quelques ms a peine

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

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 03/12/2007 à 14:19

En fait le cache HTTP n'a besoin de connaitre que deux choses :
1) si le contenu dépend de l'internaute ou non
2) la date de dernière modification de la page

Si le contenu ne dépend pas de l'internaute, alors la date de dernière modification de la page correspond à la date de création de fichier de données la plus récente.

Si le contenu dépend de l'internaute, on prend cette meme date mais on ajoute également la date de connexion de l'internaute.

====

En gros je fonctionne comme ça. Et le contenu d'une page a souvent des éléments en commun avec d'autres pages : une liste de derniers messages, un classement, etc. L'avantage du cache de données est de ne générer que ce qu'il manque à la page pas tout.

En règle générale, je n'ai pas besoin de me connecté au serveur SQL, et même si c'est le cas c'est pour une ou deux requetes. Reconstruire entièrement la page est assez rare.

Et tout comme devtribu, l'affichage est ré généré à chaque fois que necessaire (pas pour les requetes HEAD, ni pour les réponses 304 "not modified").

J'utilise aussi un moteur de template qui compile le code de manière "statique", afin de limiter les inclusions : ainsi meme si le template est découpé en 4 ou 5 fichiers (corps de la page, entete, pied de page, menu, derniers articles), la version compilée est stockée dans un seul fichier au format PHP "natif".

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

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 03/12/2007 à 16:56

He ben, je vais regarder ça de plus près.
Merci du conseil

Par contre Bool, juste par curiosité, tu utilises quel moteur de template ? J'avais déjà jeté un oeil sur ce type d'outil mais la mise en place semblait tellement galère sur un site déjà existant, et j'avais lu pas mal d'articles qui mettaient en garde sur les ressources consommées, que j'ai laissé tomber.

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 03/12/2007 à 17:13

A l'époque j'ai développé un truc "maison" pour des besoins particuliers (très orienté sécurité... le but était de faire un site de blog dont les templates seraient modifiables... mais pas le temps...).

Depuis je trimballe ce petit moteur un peu partout, et j'en suis plutot satisfait.

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

LePhasme | Guillaume
Membre

Photo de LePhasme

Inscrit le : 09/05/2005

# Le 03/12/2007 à 18:28

Je suis toujours en pleine admiration devant bool à chaque fois qu'il poste quelque chose de technique ...
La plupart du temps, je ne comprends rien mais ca a l'air tellement bien tout ce qu'il raconte ;-)

Paris Apartments RentalsOuvrir dans une nouvelle fenetre Avertisseur Autonome de FumeeOuvrir dans une nouvelle fenetre ViadeoOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 05/12/2007 à 16:14

Bool a dit :
A l'époque j'ai développé un truc "maison" pour des besoins particuliers (très orienté sécurité... le but était de faire un site de blog dont les templates seraient modifiables... mais pas le temps...).

Depuis je trimballe ce petit moteur un peu partout, et j'en suis plutot satisfait.


Tu avais posté une classe PHP sur ce même forum il me semble. Il s'agit de ton truc "maison" ?

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 05/12/2007 à 16:48

lol LePhasme


Erwinol : non la classe que j'avais posté ici (sur l'ancien forum) était un cache de données il me semble, du genre cache_lite.

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

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 14:57:46 | Généré en 7.18ms | Contacts | Mentions légales |