Categories > TinyButStrong general (FR) >

Cache et optimisation

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: gmcms
Date: 2005-09-26
Time: 07:47

Cache et optimisation

Bonjour, je viens d'utiliser le système de cache qui fonctionne bien et qui est simple. Je me pose une question que je n'arrive pas à résoudre :
Le $TBS->CacheAction est lancé juste avant le $TBS->Show() mais on a descendu tout le programme php et entre autre toutes les requettes MySQL qui ont été fites pour rien puisque la page est déja en cache.
N'y a t il pas un moyen de tester si la page est en cache et valide avant de dérouler tout le programme ? A moins qu'une astuce m'ait échappé.
Merci
By: Skrol29
Date: 2005-09-26
Time: 10:33

Re: Cache et optimisation

Bonjour,

Tu as deux méthodes pour savoir si le cache est valide ou non :
- Si tu utilise CacheAction() avec un timeout, alors la méthode te retourne true si le cache doit être mis à jour, sinon elle retourne false.
- Sinon, tu peux utiliser CacheAction() avec TBS_CACHEGETAGE pour récupérer l'age du fichier cache.
By: gmcms
Date: 2005-09-26
Time: 11:47

Re: Cache et optimisation

Pour être bien sûr que j'ai compris :
CacheAction() ne fait qu'armer le système de cache et la commande peut être lancée dès le début du programme avant même d'avoir renseigné toutes les variables nécessaires à la fusion ?
Merci
By: Skrol29
Date: 2005-09-26
Time: 11:53

Re: Cache et optimisation

Oui c'est ça.

Pour être plus précis, c'est comme ça que fonctionne le mode par défaut.
Vous pouvez aussi vous servir de CacheAction() pour des commandes particulières afin de gérer manuellement le cache.
By: gmcms
Date: 2005-09-26
Time: 13:35

Re: Cache et optimisation

C'est bizarre, si j'applique avec un test du type :

if ( $TBS->CacheAction("exemple", 3600,'cache') ) {
       acces a la base SQL, lecture de table
       assignation de variables
}
$TBS->Show();

La fusion des champs se passe mal car Tiny déclare ne pas connaître les champs utilisé dans le template.
Je pensais pourtant avoir compris que si le réslutat du test était 'true' il passait dans la boucle pour effectuer le code php.
Merci
By: gmcms
Date: 2005-09-26
Time: 21:06

Re: Cache et optimisation

Il semblerait que ça marche mais en considérant que CacheAction() retourne false si le cache doit être mis à jour et true s'il est à jour.
Peut être que ça mériterait de figurer dans la doc pour servir à la communauté.
Merci
By: Skrol29
Date: 2005-09-26
Time: 21:25

Re: Cache et optimisation

Mais ça figure dans la doc.
By: gmcms
Date: 2005-09-26
Time: 22:32

Re: Cache et optimisation

C'est vraimais une lecture rapide ne m'avait pas permis de capter la subtilité.
Merci