Sujet : Hoa_Cache et personnalisation des paramètres

Hello,

Je n'arrive pas à faire un truc tout bête:
je voudrais changer les paramètres du cache dans une de mes actions, j'ai donc fait ceci:

$cache = new Hoa_Cache_... ; // j'écris de tête donc je ne sais plus (j'utilise le cache par fichiers simple)

// changement du paramètre:
$cache->setParameter('lifetime',xxx);

Seulement ne pouvant pas vraiment vérifier que ça fonctionne, j'ai voulu modifié le paramètre de compression pour le mettre à false...
Et ça n'a pas l'air de fonctionner, le contenu des fichiers de cache est toujours compressé et illisible.
J'ai ajouté ceci:

$cache->setParameter('file.compress.active',false);

Est-ce que je m'y prend correctement?

Y a t'il un moyen de savoir la date de péremption d'un fichier de cache?


Merci d'avance.

2

Re : Hoa_Cache et personnalisation des paramètres

Hey smile,

Tu y es presque.
On va reprendre depuis le début :

$backend  = new Hoa_Cache_Backend_*();
$frontend = new Hoa_Cache_Frontend_*($backend);

Hoa_Class définit des paramètres pour le frontend et le backend. Ils sont mélangés.

Si tu veux donc modifier des paramètres du frontend, tu ferais :

$frontend->setParameters(…);

En revanche, si tu veux modifier des paramètres du backend, tu ferais :

$backend->setParameters(…);

Bon, ça t'oblige à avoir le backend en variable quelque part. La révision 1190 corrige ce problème, je viens de commiter. Tu as maintenant la méthode getBackend() sur le frontend. Ainsi :

$cache = new Hoa_Cache_Frontend_*(
    new Hoa_Cache_Backend_*()
);
$cache->getBackend()->setParameters(…);

Note que tu peux passer tes paramètres au constructeur aussi :

$cache = new Hoa_Cache_Frontend_*(
    new Hoa_Cache_Backend_*($parameters)
);

C'est une autre manière de faire.

Ai-je répondu à ta question ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : Hoa_Cache et personnalisation des paramètres

Je pense oui wink
je test ce soir!

Cimer albert!

4

Re : Hoa_Cache et personnalisation des paramètres

Je ne m'appelle pas Albert hmm ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : Hoa_Cache et personnalisation des paramètres

Mais voué, mais c'est pour la rime!
J'en trouve pas en "an" smile

Bon sinon pour revenir à nos moutons, ça marche, je peux passer les paramètres...
Seulement, je n'arrive pas à comprendre comment tu juges de la "péremption" d'un fichier? où est-ce que tu stockes ça?

Petite demande supplémentaire, serait-il possible de donner à la place d'une durée de vie, une date de péremption du coup?

merci

6

Re : Hoa_Cache et personnalisation des paramètres

Hmm non il n'est pas possible de donner une date de péremption. C'est pas bête remarque, mais tu dois sûrement pouvoir faire la même chose avec … … hmm, je réfléchis à un truc du style date() + x sec. Comme ça, la durée de vie va être une date de péremption. Tu peux tenter ça ? Bon, il faut le faire dans le code PHP car en fichiers de configurations ça ne sera pas possible.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : Hoa_Cache et personnalisation des paramètres

Oui oui, c'est tout à fait possible en php!
Je fait _datevoulu_ - time() et paf!
C'était juste pour proposer une autre façon de régler la durée de vie.

C'est pas grand chose à faire dans un sens comme dans l'autre (le faire "à la main" ou l'implémenter dans Hoa), donc à voir si ça vaut le coup smile

8

Re : Hoa_Cache et personnalisation des paramètres

Je pense que c'est un cas marginal et que du coup ça justifie son caractère occasionnel (comprendre, on le fait à l'arrache dans PHP quoi wink). Non ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Re : Hoa_Cache et personnalisation des paramètres

Oui oui, tu as raison...
Mais du coup pour parfaire ma curiosité (et aussi parce que je vais surement devoir mettre un système de cache au sens large en place au boulot), comment gères-tu les péremptions?

Le contenu des fichiers de cache n'est en fait qu'un tableau à une entrée sérializé non?

Et pour ce qui est de la compression, as-tu fait des benchs? je serais interessé aussi!

10

Re : Hoa_Cache et personnalisation des paramètres

Je t'invite à lire le code du fichier Framework/Library/Cache/Backend/File.php (car tu t'intéresses uniquement aux fichiers si j'ai bien compris, et pas à APC, EAccelerator, MemCache, SQLite etc.). Le contenu du cache n'est pas uniquement un tableau, ça dépend de ton frontend. Je t'invite également à lire le code, il répondra à la majorité de tes questions actuelles ou futures wink. Mais n'hésite pas à revenir avec d'autres questions hein, je ne veux pas t'expédier. C'est juste que le code est plus parlant.

Pour la compression, elle n'est pas toujours effectuée. Pour les fichiers, si demandé, oui, mais pas pour APC par exemple. Tu veux des benchmarks, mais lesquels ? Ça veut dire quoi smile ? Tu veux mesurer quoi ?

Enfin, je réponds à ta première question en dernier (parce que mon monde est à l'envers) : les péremptions sont gérés en secondes. Tu veux savoir quoi en plus ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »