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
Vétéran
Membre # 9009

 Avatar du membre
Lieu : METZ

Messages :
3667 (1.9 par jour)


Score :

Message du 29-09-2006 @ 13:13      Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


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:
----------
Mon site perso - le site de notre jeu (en développement) - Le forum du jeu
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12731 (5.86 par jour)


Score :

Message du 29-09-2006 @ 14:32   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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]
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
Chani
Vétéran
Membre # 9009

 Avatar du membre
Lieu : METZ

Messages :
3667 (1.9 par jour)


Score :

Message du 29-09-2006 @ 14:40   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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)

----------
Mon site perso - le site de notre jeu (en développement) - Le forum du jeu
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12731 (5.86 par jour)


Score :

Message du 29-09-2006 @ 14:52   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

un cache HTML est super simple à mettre en place en utilisant l'output buffering...
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
TheNetSnake
Modérateur
Membre # 1572

 Avatar du membre


Messages :
10961 (4.11 par jour)




Message du 16-10-2006 @ 7:39   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

http://developpeur.journaldunet.com/tutoriel/php/040209php_systemes_cache1a.shtml
----------
Les PC, c'est comme les femmes. Quand on n'en a pas, on ferait n'importe quoi pour en avoir. Quand on en a, on se ruine pour les entretenir.
A la source de toute erreur dont on accuse l'ordinateur, on trouvera au moins deux erreurs humaines, dont celle de rejeter la faute sur l'ordinateur.
- Haut de page -
Chani
Vétéran
Membre # 9009

 Avatar du membre
Lieu : METZ

Messages :
3667 (1.9 par jour)


Score :

Message du 31-10-2006 @ 11:32   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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.
----------
Mon site perso - le site de notre jeu (en développement) - Le forum du jeu
- Haut de page -
Chani
Vétéran
Membre # 9009

 Avatar du membre
Lieu : METZ

Messages :
3667 (1.9 par jour)


Score :

Message du 04-12-2006 @ 16:35   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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
----------
Mon site perso - le site de notre jeu (en développement) - Le forum du jeu
- Haut de page -
frednet
Sage
Membre # 3998

 Avatar du membre
Lieu : Lat: 49° 27' 34" Nord Long: 06° 22' 3

Messages :
1370 (0.6 par jour)




Message du 05-12-2006 @ 9:10   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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

@+ Fred

----------
Dikenek: "Et toi, tu sais ce que sait les pare-brises. Si aujourd'hui tu ressembles plus a Albator qu'a Candy, c'est parce que ta mere elle flute" :D
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12731 (5.86 par jour)


Score :

Message du 05-12-2006 @ 9:49   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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]
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
Chani
Vétéran
Membre # 9009

 Avatar du membre
Lieu : METZ

Messages :
3667 (1.9 par jour)


Score :

Message du 05-12-2006 @ 12:33   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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.
----------
Mon site perso - le site de notre jeu (en développement) - Le forum du jeu
- Haut de page -
frednet
Sage
Membre # 3998

 Avatar du membre
Lieu : Lat: 49° 27' 34" Nord Long: 06° 22' 3

Messages :
1370 (0.6 par jour)




Message du 06-12-2006 @ 0:00   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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
----------
Dikenek: "Et toi, tu sais ce que sait les pare-brises. Si aujourd'hui tu ressembles plus a Albator qu'a Candy, c'est parce que ta mere elle flute" :D
- Haut de page -
Chani
Vétéran
Membre # 9009

 Avatar du membre
Lieu : METZ

Messages :
3667 (1.9 par jour)


Score :

Message du 06-12-2006 @ 8:23   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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..)
----------
Mon site perso - le site de notre jeu (en développement) - Le forum du jeu
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12731 (5.86 par jour)


Score :

Message du 06-12-2006 @ 15:14   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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!
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
Chani
Vétéran
Membre # 9009

 Avatar du membre
Lieu : METZ

Messages :
3667 (1.9 par jour)


Score :

Message du 06-12-2006 @ 15:20   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

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)
----------
Mon site perso - le site de notre jeu (en développement) - Le forum du jeu
- Haut de page -
frednet
Sage
Membre # 3998

 Avatar du membre
Lieu : Lat: 49° 27' 34" Nord Long: 06° 22' 3

Messages :
1370 (0.6 par jour)




Message du 06-12-2006 @ 15:34   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

*.txt power :D :D :D
----------
Dikenek: "Et toi, tu sais ce que sait les pare-brises. Si aujourd'hui tu ressembles plus a Albator qu'a Candy, c'est parce que ta mere elle flute" :D
- Haut de page -


Aller dans le forum :  

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.13 secondes