Fork me on GitHub




(1) 2 3 »


Ne pas mettre en cache certaines pages et les titres de pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Bonjour tout le monde,

J'ai un module qui comporte plus de 2000 catégories, chacune comporte de nombreux fichiers/articles. Le module exécute un nombre de requêtes sql impressionnant, plus de 4000 requêtes . Je dispose d'un serveur dédié puissant, mais le nombre de requêtes me pose quand même un probleme de lenteur. Lorsque je place le module en cache le nombre de requêtes tombe à 100 requêtes en moyenne, mais une fois les pages sont mises en cache, là je rencontre un autre probleme, car certaines pages gérées via templates doivent rester dynamique tout le temps.

Comment je peux faire pour ne pas mettre certaines pages en cache ? et mettre uniquement les requêtes en cache ?

Posté le : 21/09/2009 16:21

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Questions concernant le cache
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Bon ben je me répond tout seul pour la première question

Pour désactiver le cache d'une page d'un module mis en cache, il faut utiliser le code ci-dessous :

$xoopsTpl->xoops_setCaching(0);


à mettre dans la page concernée et juste avant :
include XOOPS_ROOT_PATH '/footer.php';

Posté le : 21/09/2009 20:22

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Questions concernant le cache
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Maintenant il faut que je trouve comment mettre en cache les requêtes SQL ? mais pas le contenu html.

Vous avez une petite idée ??

Posté le : 21/09/2009 20:26

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Questions concernant le cache
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
Citation :

Ankyo a écrit:
Bon ben je me répond tout seul pour la première question

Pour désactiver le cache d'une page d'un module mis en cache, il faut utiliser le code ci-dessous :

$xoopsTpl->xoops_setCaching(0);


à mettre dans la page concernée et juste avant :
include XOOPS_ROOT_PATH '/footer.php';



Excellent !!...

J'avais u poser la question il y a quelques temps, et je n'avais jamais trouver la solution.
Je crois que ça va beaucoup m'aider ton Astuce.


Si tu n'y vois pas d'inconvénients ?...
je déplace ton Post dans les Astuces + change le titre par " Mettre la page d'un module en Cache "

Posté le : 21/09/2009 23:20
Partager Twitter Partagez cette article sur GG+
Re: Questions concernant le cache
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Citation :

iLuc a écrit:
Si tu n'y vois pas d'inconvénients ?...
je déplace ton Post dans les Astuces + change le titre par " Mettre la page d'un module en Cache "


Aucun inconvénient cher iLuc

Mon message est Open Source

Posté le : 21/09/2009 23:27

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Questions concernant le cache
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Voici quelques informations supplémentaires concernant le cache sous Xoops :

La class "XoopsTpl" et ces méthodes, ainsi que les fonctions du cache sont dans le fichier : template.php.

On peut faire beaucoup de chose apparemment avec la class XoopsTpl. C'est génial ce Xoops .

Posté le : 21/09/2009 23:45

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
Juste petite Question,

Avec tes articles que tu mets en cache.
A tu un soucis avec les titres ---> balise <title>...</title>

Lorsque je met en cache, avec le Module Classifieds, j'ai ce soucis,
( avec les autres modules aussi )

Par exemple ( sans cache ):
<title>Carte réseau d'occasion, Les Annonces - Les petites annonces de pièces détachées</title>

Devient ( avec cache ):
<title>Les Annonces - Les petites annonces de pièces détachées</title>

Tout les titres deviennent identiques...
Ce qui n'est pas bon pour Google.

Je n'ai jusque maintenant trouver aucune solutions.

Posté le : 22/09/2009 00:13
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Oui effectivement une fois le cache activé, et les templates en cache, certaines balises ne sont pas mises en cache, ce probleme existe sous tous les modules. En fait seul les templates sont mis en cache et cela sans leur balise title, car tout ce qui est géré dynamiquement ne l'est plus une fois mis en cache. Je n'ai pas encore trouvé de solution propre, mais pour attendre une véritable solution tu peux passer les balises dans les templates avec des conditions en smarty ou php.

Par exemple si ton module dispose d'un fichier template "header.html" tu mets tes balises dedans et tu l’inclus dans les autres fichiers templates, mais ce n'est pas du tout propre comme méthode, car tes balise seront dans la partie <body> tu code html, pour le css et le javascript ça passe, mais pour la balise title ça craint

La solution idéale serait de mettre la page entière en cache.

Posté le : 22/09/2009 00:30

Développeur web.
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
Pour ton soucis 'contenu dinamique en cache'

Je viens de tomber sur ce sujet. ici

Pour les balises <title>, j'y ai penser à ta solution,
mais comme tu dit, pas le top.

Le soucis est bien comme tu dit, les pages sont que partiellement en cache...
/classifieds-pieces-autos-01-[...]_category.html

Et dedans, le titre de la page, Nada...

J'essaie de trouver voir si il y a une solution.
Je crois qu'il faudrait que dans les pages mises dans le dossier 'smarty_compile'

Que sois rajouter automatiquement au début du code des pages 'un truc du genre' :

<?php $xoops_pagetitle=echo $this->_tpl_vars['xoops_pagetitle']; ?>


( c'est juste pour l'idée, faut la bonne écriture )

Et que je face des essais.

iLuc

Posté le : 22/09/2009 01:38
Partager Twitter Partagez cette article sur GG+
Re: Ne pas mettre en cache certaines pages
Régulier
Inscrit: 09/04/2006 21:04
Messages: 423
Merci pour le lien. Pour faire simple, je suis en train de faire un petit hack qui aura pour objectif d'utiliser une variable session après la mise en cache des page, ainsi la balise titre et la balise description seront toujours affichés, Cool non ?

Mes premiers tests sont vraiment encouragent

Pour le titre ça se passe dans le fichier :
class/theme.php, ligne 200

Cordialement,
Mohamed

Posté le : 22/09/2009 01:50

Développeur web.
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 3 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

376 Personne(s) en ligne (319 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 376 | Plus ...