Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Hello tout le monde,
sur mon application, j 'attaque à présent le système de cache, mais je me heurte à quelques questions.
Dans l'appli il y a des portions de code qui ne doivent être caché,
exemple: sur les fiches du site, je souhaite montrer le nombre de fois ou la fiche a été vue. Donc par conséquent je supposé prendre Zend_Cache_Core.
Dans un autre endroit, j'ai un moteur de recherche ou l'url est construite dynamiquement.
Par exemple:
monsite.com/search/
monsite.com/search/cat1/
monsite.com/search/cat1/ss_cat1/
monsite.com/search/cat1/ss_cat1/...
toutes ces requetes appel 1 et 1 seul controlleur. Donc par simplicité je pensais utiliser Zend_Cache_Frontend_Page.
Donc est il possible de mixer un système de cache Zend_Cache_Core et Zend_Cache_Frontend_Page dans une même application ? si oui comment ? et selon vous est ce une approche correcte ou completement loufoque et dans ce cas utiliser uniquement Zend_Cache_Core.
d'avance merci
Dernière modification par bucheron (12-08-2008 14:58:55)
Hors ligne
bootstrap:
// Cache setup $cache1 = Zend_Cache::factory( $config->cache1->zend->frontend->type, $config->cache1->zend->backend->type, $config->cache1->zend->frontend->options->toArray(), $config->cache1->zend->backend->options->toArray() );
config ini:
[cache1] zend.frontend.type = "Core" zend.frontend.options.lifetime = 86400 ; 2 Hours zend.frontend.options.automatic_serialization = true zend.backend.type = "File" zend.backend.options.cache_dir = "./cache/"
Dernière modification par lethak (12-08-2008 12:05:18)
Hors ligne
je comprend pas trop l'aide fournit.
La question est de savoir si il est possible de coexister 2 systèmes de cache.
Hors ligne
Oui tu peux utiliser autant de cache que tu veux et n'importe ou te faire un plugin
Sinon utilise Zend_Cache_Frontend_Output pour cacher seulement des blocs et non toute la page.
http://framework.zend.com/manual/fr/zen … nds.output
Pour cacher des requetes tu peux utiliser le cache n'importe ou, j'utilise le module APC comme ceci
$cache = Zend_Cache::factory('Core','APC',array('lifetime'=>7200,'automatic_serialization'=>true),array());
Il te faudra par contre l'installer toi même le module APC.
Hors ligne
@lethak ok je vois
@alien7 je comprend pour l'output mais quel est l'intéret d'utiliser APC ? n'est ce pas quasi la même chose que l'output de zend mais coté apache ?
Hors ligne
@alien7 ok je crois que je me suis embrouiller les pinceaux.
je pensais que j'utilisais le Zend_Cache_Frontend_Output pour un bloc avec des variables, exemple:
if (!$cache->start('index')) { echo 'Hello world! '; $jeux = new Jeux(); $this->view->bestGames = $jeux->getListGame(); ... $cache->end(); }
Or lors du prochain passage la variable ne sera pas affecté.
Donc a présent si j'ai bien compris il veut mieux que j'utilise le zend_cache_core ? mais cela va m'alourdir le code considérablement si je dois "cacher" toutes les variables . N'y a t'il pas un moyen d'utiliser le Zend_Cache_Frontend_Page mais en spécifiant que certaines parties du document ne doivent jamais être caché ?
Est ce que vous me suivez ?
Dernière modification par bucheron (12-08-2008 12:06:43)
Hors ligne
Est ce que le sparti que tu ne veux pas cacher corresponde à des action de ton controlleur ?
Si oui essaye ca de voir avec ce tuto :
http://julien-pauli.developpez.com/tuto … _2#LII-D-2
Comment dire de ne pas mettre en cache telle ou telle requête ? L'attribut statique $doNotCache est là pour cela :
My_Plugin_Caching::$doNotCache = true;
Le module APC met le cache en memoire alors que Zend_Cache_Frontend_Output crée un fichier dans le dossier cache que tu lui specifie.
Hors ligne
En effet le tuto de julien correspond à ce que je recherche )))
Je l'ai mis en place et a priori cela fonctionne reste à faire quelques testes en profondeur et le tour est joué.
Merci pour votre aide )))))))))
Hors ligne
Pages: 1