Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-03-2010 15:13:18

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

[Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Bonjour à tous,

Je fais l'utilisation de Zend_Cache depuis quelques projets et tout fonctionne bien. J'utilise Zend_Cache avec le type file, qui créer plusieurs fichiers dans lequel il enregistre les donnés en cache dans un répertoire définis.

Lorsque des modifications sont fait aux sites, Zend recommence le système de cache en créant d'autres fichiers. Petits problèmes, il ne prend pas de termps avant que le poids des fichiers du cache soit considérablement élevé. À long terme, il risque d'avoir des problèmes.

Avec plusieurs recherche, j'ai découvert c'est fonctionnalité du Cache: automatic_cleaning_factor

Voici ce que dit la doc officiel:

automatic_cleaning_factor       Integer      default: 0      

Active / désactive le nettoyage automatique ("garbage collector"): 0 signifie aucun nettoyage automatique de cache, 1 signifie un nettoyage systématique du cache et x > 1 signifie le nettoyage aléatoire 1 fois toute les x écritures.

J'ai intégré ceci dans mon système de cache en essayant les types de nettoyage...rien, les fichiers s'accumulent tout de même...

Est-ce qu'il y a une bonne et meilleur solution pour l'utilisation du cache type file afin d'éviter mon problème ?

Merci pour vos réponses

Dernière modification par probitaille (08-03-2010 15:13:40)

Hors ligne

 

#2 10-03-2010 14:54:29

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Bon, je n'ai toujours rien trouvé à ce sujet...ya peu d'endroit qui en parle sur le web et peu d'explication sur le cleaning de cache pour ce que je veux faire...

Hors ligne

 

#3 16-03-2010 01:42:30

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Je relance le sujet puisque j'arrive encore une fois à la même problématique...

Hors ligne

 

#4 12-05-2010 06:05:42

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Up smile

Hors ligne

 

#5 04-10-2010 02:05:41

enjoy
Membre
Date d'inscription: 25-02-2009
Messages: 15

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Bonjour j'ai le même pb....
Quelqu'un a des indications svp??

Hors ligne

 

#6 04-10-2010 02:21:19

enjoy
Membre
Date d'inscription: 25-02-2009
Messages: 15

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

J'ai trouvé en fait....
http://framework.zend.com/manual/1.10/f … heory.html

method "clean" ou "remove" sur le cache

Hors ligne

 

#7 04-10-2010 11:15:49

enjoy
Membre
Date d'inscription: 25-02-2009
Messages: 15

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Néanmoins, ces méthodes ne permettent que des suppressions manuelles si je ne me trompe pas...
J'ai également essayé le "automatic_cleaning_factor" mais il ne supprime pas les fichiers...

Existe t-il une façon automatisé de supprimer les fichiers?

Hors ligne

 

#8 04-10-2010 14:44:49

My_Sic
Membre
Date d'inscription: 06-09-2010
Messages: 49
Site web

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Le cache a par défaut une option automatic_cleaning_factor à 10.
Ce qui signifie qu'1 fois tous les 10 appels à la fonction save(), il va tester la validité de tous les fichiers cachés.
Si ces derniers sont obsolètes, ou flagués comme telle, il les supprimera définitivement.

Ce mécanisme est de base dans Zend_Cache.

Si tes fichiers s'accumulent alors qu'il ne devrait pas, cela peut venir de plusieurs endroits :
- Utilises-tu un lifetime ?
- Lorsque tes données sont modifiées, les caches ont-ils le même 'id' qu'avant ?
- Utilises-tu de manière explicite les fonctions Zend_Cache->clean();
- Peut-tu montrer les configurations de ton cache.


http://www.centurion-project.org: Full stack Framework based on Zend Framework; led by:
http://www.octaveoctave.com: an enthusiastic web agency full of passionate.
http://www.cache-pistache.com: French blog on ZF and SF perfomance

Hors ligne

 

#9 04-10-2010 14:53:07

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Merci d'avoir relancé le débat sur les fichiers de caches, en effet, j'ai plutôt opté pour un cron qui supprime tous les X jours les fichiers de caches générés dans un dossier dédié. Par contre, je ne dirais pas non si je découvre le problème que nous avons concernant le nettoyage automatique du cache.

My_Sic, Pour répondre à tes questions:

LifeTime: Oui, généralement je le mets entre 1 et 7 jours grâce à ces multiplications
   'lifetime' => 60*60*24*7, // (60*60*24*15)temps de vie du cache en seconde/minutes/heures/jours

Id de Cache: Zend permet d'utiliser la cache grâce aux regex, j'utilise plutôt cette méthode en créant un seul cache qui sauvegarde toutes les pages que j'ai choisis (Voir config plus bas)

Clean(): Oui, cette méthode est utilisé dans mon système d'administration, chaque modification au site fait appel à cette méthode, par contre, celle-ci ne détruit pas les fichiers mais en génère de nouveau avec un identifiant différant

Voici mes configs, attention c'est un peu lourd:


Code:

$frontendOptions = array(
           'lifetime' => 60*60*24*7, // (60*60*24*15)temps de vie du cache en seconde/minutes/heures/jours
           'automatic_serialization' => true,
           'automatic_cleaning_factor' => 15,
           'caching' => true,
           'debug_header' => true,
            'memorize_headers' => array('Content-Type',
                           'Content-Language',
                           'Content-Disposition',
                           'Content-Length',
                           'Content-Transfer-Encoding',
                           ),
            'default_options' => array(
                // disable default caching for all requests
                'cache' => false,
                'cache_with_files_variables'     => false,
                'cache_with_post_variables'      => false,
                'cache_with_cookie_variables'    => true,
                'cache_with_session_variables'   => true,
                'cache_with_get_variables'       => true,
                
                'make_id_with_cookie_variables'  => true,
                'make_id_with_session_variables' => true,
                'make_id_with_files_variables'   => true,
                'make_id_with_get_variables'     => true,
                'make_id_with_post_variables'    => true,
            ),
            // cache routes to Index and News controllers
            
            'regexps' => array(
                '^/$'                                                    => array('cache' => true),
                '^/index/'                                                => array('cache' => true),
                '^/nouvelles'                                            => array('cache' => true),
                '^/nouvelles/'                                            => array('cache' => true),
                '^/calendar'                                            => array('cache' => true),
                '^/contact'                                                => array('cache' => true),
                '^/plandusite'                                            => array('cache' => true),
                '^/admin'                                                => array('cache' => false),
                '^/login'                                                => array('cache' => false)
            )
        );
        
        $backendOptions = array(
            // Répertoire où stocker les fichiers de cache
            'cache_dir' => 'tmp/',
            'read_control'           => true,
                        'read_control_type'      => 'crc32',
                        'hashed_directory_level' => 0,
                        'file_name_prefix'       => 'zend_cache'
        );

Dernière modification par probitaille (04-10-2010 14:53:53)

Hors ligne

 

#10 04-10-2010 15:29:49

My_Sic
Membre
Date d'inscription: 06-09-2010
Messages: 49
Site web

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

La config me semble bonne (excepté make_id_with_files_variables et make_id_with_post_variables, qui devrait être à false dans ton cas).
As-tu essayé de faire des test en mettant un life time à quelques secondes ?

Lorsque tu lance la commande $cache->clean(Zend_Cache::CLEANING_MODE_OLD);, cela te supprime-t-il tes fichiers physiquement ?

Pour les ids, ils ne devraient pas changer si les url n'ont pas été modifié.


http://www.centurion-project.org: Full stack Framework based on Zend Framework; led by:
http://www.octaveoctave.com: an enthusiastic web agency full of passionate.
http://www.cache-pistache.com: French blog on ZF and SF perfomance

Hors ligne

 

#11 04-10-2010 21:22:03

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: [Zend_Cache][1.10] Nettoyage des fichiers du cache type file ?

Merci My_Sic

En effet, cette configuration "make_id_with_files_variables" à false permet de supprimer mes vieux fichiers de configurations lorsque le lifetime est atteint ou bien que le nombre d'appel est atteint ou lors d'un Zend_Cache::CLEANING_MODE.

En espérant que ça répond à la demande de "enjoy"

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