Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
je rencontre actuellement un problème pour récupérer mon cache.
Ci-joint mon code:
Controller:
$cache = Zend_Registry::get('cache'); // Get List Root Category in cache. $root_categorys = $cache->load('sitemap_list_root_categorys'); $cache_act = 1; // If is not in cache. if(!$root_categorys) { $table_category = new Table_Catalog_Category_Entity(); $root_categorys = $table_category->fetchAll('is_active = 1 AND parent_id = 0'); // On met le résultat en cache. $cache->save($root_categorys, 'sitemap_list_root_categorys'); $cache_act = 0; }
Bootstrap:
// Load configuration file. $config = new Zend_Config($this->getOptions()); if (extension_loaded('APC')) { $backendName = 'APC'; } else { $backendName = 'File'; } $frontendName = 'Core'; $frontendOptions = array( 'automatic_serialization' => $config->cache->core->automatic_serialization, 'lifetime' => $config->cache->core->lifetime ); $backendOptions = array( 'cache_dir' => $config->cache->core->directory, ); // Start the cache. $this->_cache = Zend_Cache::factory( $frontendName, $backendName, $frontendOptions, $backendOptions ); Zend_Db_Table_Abstract::setDefaultMetadataCache($this->_cache); Zend_Registry::set('cache', $this->_cache); return $this->_cache;
Le xml du bootsrap:
<cache> <core> <front>Core</front> <method>File</method> <lifetime>86400</lifetime> <automatic_serialization>true</automatic_serialization> <directory><zf:const zf:name="ROOT_PATH"/>/tmp/cache</directory> </core> </cache>
La première exécution la variable $cache_act faut 0 et le fichier de cache est bien généré dans mon répertoire cache.
La seconde fois, logiquement il devrait récupérer le cache, mais il n'y arrive pas et exécute à nouveaux la requête sql.
Avez vous une idée d'où ca peut venir ?
Merci d'avance.
Chris.
Hors ligne
Pas moyen de trouver une solution , si quelqu'un a une idée je dit pas non.
Edit: Après quelques test il apparait que si je rafraichit la page rapidement le cache est la :S... On dirait que la vie du cache n'est que de 1 secondes voir moins.
Est-ce possible ?
Dernière modification par slasch (12-09-2009 19:47:20)
Hors ligne
Je m'auto répond.
Je ne sais pas pourquoi mais il considérai que lifetime valait 0, j'ai changer le nom ans le xml en lifecore et c'est bon...
Hors ligne
Pages: 1