Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-09-2009 10:42:19

slasch
Membre
Date d'inscription: 23-11-2007
Messages: 18

[Zend_Cache 1.9.2] Problème de récupération du cache.

Bonjour à tous,

je rencontre actuellement un problème pour récupérer mon cache.

Ci-joint mon code:

Controller:

Code:

        $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:

Code:

        // 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:

Code:

        <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

 

#2 12-09-2009 15:00:48

slasch
Membre
Date d'inscription: 23-11-2007
Messages: 18

Re: [Zend_Cache 1.9.2] Problème de récupération du cache.

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

 

#3 12-09-2009 20:35:17

slasch
Membre
Date d'inscription: 23-11-2007
Messages: 18

Re: [Zend_Cache 1.9.2] Problème de récupération du cache.

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages