Logo du forum
 

Forum TT-Hardware

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [PHP] » Les systèmes de cache
Login Mot de passe

2 visiteurs sur ce topic (0 membre(s), 2 invité(s) )

Auteur
Sujet : Les systèmes de cache
Chani



 






Message du 29-09-2006 @ 13:13


Bonjour à tous.

Je viens à vous pour vous demander des retour sur les sytèmes de cache que vous utilisez.... (JPcache, Pear::Cache etc..)
Lequel est pas mal, lequel éviter etc..

Merci par avance.

NOTE : Le premier qui me sort un moteur de template :angryfire: :ar15firing: :bang:
- Haut de page -
Soulmanto



 






Message du 29-09-2006 @ 14:32

Ah, toi aussi t'aimes pas les moteurs de template? :D Perso j'en utilise aucun, le cache intégré au Zend engine de PHP5 est largement assez performant pour ce qui est des scripts. On avait eu l'occasion de parler de tout ça avec TNS lors de devs pour la migration du forum, et il s'était avéré que PHP5 était au moins aussi performant que PHP4 + Turck MMCache... Après, y'a d'autres possibilités, genre IonCube Encoder qui propose un système de cache après création du ByteCode.

A mon sens, et de façon générale, utiliser une librairie qui fait la même chose que ce que PHP fait en natif est une hérésie, mais c'est purement subjectif...

Côté pages générées, j'ai pas encore eu besoin de m'y attacher trop longuement. Sans rentrer dans les détails, le forum utilise un cache basique pour certaines parties qui ne changent pas souvent...

[message édité le 29-09-2006 @ 14:35 Par Soulmanto]
- Haut de page -
Chani



 






Message du 29-09-2006 @ 14:40

Citation du message de Soulmanto :

Ah, toi aussi t'aimes pas les moteurs de template? ...



yep... (vais pas rentrer dans le débat hein ;) )

Citation du message de Soulmanto :


A mon sens, et de façon générale, utiliser une librairie qui fait la même chose que ce que PHP fait en natif est une hérésie, mais c'est purement subjectif...
..



ba en fait, je recherche quelque chose de simple, pour mettre en place un cache sans me casser la tête.. (cache HTML + serveur si possible)

- Haut de page -
Soulmanto



 






Message du 29-09-2006 @ 14:52

un cache HTML est super simple à mettre en place en utilisant l'output buffering...
- Haut de page -
TheNetSnake



 






Message du 16-10-2006 @ 7:39

http://developpeur.journaldunet.com/tutoriel/php/040209php_systemes_cache1a.shtml
- Haut de page -
Chani



 






Message du 31-10-2006 @ 11:32

Merci pour cet article, qui me conforte dans le choix que j'ais fait :D.

Bon certe je n'ais pas utilisé la bibliothéque Pear, mais je me suis lancé dans la gestion du cache par une de mes classes. Pour le moment elle est encore en phase de test, mais ça devrais fonctionner :D (chuis optimiste de naissance :D).

Si ça vous dis je posterais le code quand il sera un peu plus fiable.
- Haut de page -
Chani



 






Message du 04-12-2006 @ 16:35

Bonjour à tous.

Je viens à vous en espérant que vos lumières éclaireront mon sentier perdu :D. bon tréves de plaisanteries.

Je suis en train de revoir mon site, et dans ce cadre la, j'aimerais mettre en place un cache fais main. (me parlez pas de smarty et consort hein ;) ).

Afin de réaliser le cache de variable, je pensais sérialiser une variables (en l'occurence certainnement un tableau) dans un fichier, et venir relire ce fichier à loisir, en désérilaisant tout ça. Mais... je ne sais pas comment recréer en mémoire mon tableau.. Est ce qu'en désérialisant le tableau, il sera d'office en mémoire ?

Ensuite, j'ais aussi pensé à créer un fichier csv avec les données du tableau, et les récupérer via getcsv... d'ou ma question : Qu'est ce qui sera plus rapide, getcsv ou unserialize ?

Merci par avance pour vos infos
- Haut de page -
frednet



 






Message du 05-12-2006 @ 9:10

sans hesitez je choisi "unserialize" et oui normalement tu vas retrouver ton tableau en meoire comme lorsque tu l'as serialize.

@+ Fred

- Haut de page -
Soulmanto



 






Message du 05-12-2006 @ 9:49

Si tu veux utiliser une sérialisation, autant stocker tout ça en base... Les accès seront plus rapides, pas de parsing comme il pourrait y'en avoir pour lire un csv, et tu as en plus la possibilité de gérer plus finement ton cache, avec une table du genre:


Code :


CREATE TABLE cache
(
   cache_id      int unsigned auto_increment,
   cache_name      varchar(20) not null default 0,
   cache_type tinyint unsigned not null default 0,
   cache_serial   enum( '0', '1' ) not null default '1',
cache_data      text not null,
cache_datetime   int unsigned not null default 0,
cache_update   int unsigned not null default 0,
primary key (cache_id),
key idx_cache_name (cache_name),
key idx_cache_type (cache_type),
);



cache_name > nom donné au groupe de variables (pageindex, liste_articles, ce que tu veux)
cache_type > type de cache : valeurs, requêtes, pages HTML, ...
cache_serial > les données sont-elles sérialisées ou non?
cache_data > contenu du cache. On peut éventuellement augmenter la taille du champ pour stocker plus
cache_datetime > date de création (format timestamp UNIX)
cache_update > date de màj (format timestamp UNIX)

C'est juste un exemple, après à toi d'adapter tout ça à tes besoins. C'est super pratique pour stocker des résultats de requêtes lourdes, par exemple, ou alors des pages HTML générées fréquemment, mais très peu mises à jour.

[message édité le 05-12-2006 @ 9:49 Par Soulmanto]
- Haut de page -
Chani



 






Message du 05-12-2006 @ 12:33

mouais... c'est vrai que j'avais laissé un peu la base de coté pour me focaliser sur un accés par fichier.

En fait j'ais un premier systéme de cache qui s'occupe de cacher certaines partie de ma pag, et la no problem, pas besoin de parser, juste de lire le fichier.

Mais la mon soucis est en fait de cacher le résultat du parsing d'un fichier XML, (ouais parce que parser le fichier 2 fois par page, ça commence à être lourd). L'histoire de la base de données.. pourquoi pas.. mais je me casse la tête a essayer de réduire les échanges serveur PHP <-> mysql.. donc je vais voir pour éviter d'utiliser une base (j'aurais déjà suffisament de trafic comme ça sans en rajouter pour pas grands chose.)

et puis en l'occurence, je ne vais rien parser, juste unsérialiser, donc ça devrais être plus rapide.
- Haut de page -
frednet



 






Message du 06-12-2006 @ 0:00

si tu souhaite parser un fichier XML moi j'avais (dans le cadre d'un projet) fait la chose suivante: lorsque je creai mon fichier XML je le passais dans un parser qui me le sortais en HTML puis j'essayai de d'abord charger le fichier html et si ca ne marchait pas je la regenerai a partir du XML et si l'XML n'existait pas je le creai a partir des données dans ma BDD :D

@+ Fred
- Haut de page -
Chani



 






Message du 06-12-2006 @ 8:23

ben en fait mon but est d'utiliser des fichier xml pour tout ce qui est relativement statique dans mon site (menu, structure des pages, et textes). De cette manières je n'ais pas besoin de la base de données tout de suite.

Actuellement, je n'ais aucun soucis pour parser un fichier xml, simplexml porte bien son nom :D.

de plus je vais gérer différente langue, donc avec un fichier xml par langue (pour les textes de mes pages), et ça aussi pour le moment ça passe bien.

le seul 'soucis' c'étais le choix technologique concernant le cache de données autre que du html (en effet, j'utilise les outils de mise en cache des echos de php ob_start etc..)
- Haut de page -
Soulmanto



 






Message du 06-12-2006 @ 15:14

euh, juste comme ça, le XML pour les perfs, c'est pas vraiment l'idéal... le parsing est fortement consommateur de ressources et les performances s'écroulent très rapidement avec l'augmentation de la taille du fichier XML. Donc, pour ce qui est du support multilingue, à moins d'avoir des fichiers très peu volumineux, le XML est à éviter à tout prix!
- Haut de page -
Chani



 






Message du 06-12-2006 @ 15:20

ok, bon, je vais partir donc sur du CSV :D ;)... chuis pas contrariant :D... (merci pour l'info.. je pensais pas que c'était à ce point)
- Haut de page -
frednet



 






Message du 06-12-2006 @ 15:34

*.txt power :D :D :D
- Haut de page -

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2006

Valid XHTML 1.0 Transitional

Page générée en 0.14 secondes