Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-03-2014 15:48:04

Stoomm
Membre
Date d'inscription: 06-05-2009
Messages: 48

Mise en cache des résultats

Bonjour à tous,

Je me suis mis récemment à ZF2 après quelques années sur ZF1 et j'en ai profité pour découvrir Doctrine au passage. Je risque donc de venir vous embêter pas mal ces prochains jours.

Ma question concerne la mise en cache des résultats.

Coté cache, globalement, j'ai bien vu les caches possibles :

- metadata_cache
- query_cache
- result_cache
- hydration_cache

J'ai également vu qu'on pouvait utilisé le "result_cache" en paramétrant sa query avec useResultCache.

Par contre, y a-t-il une façon globale de faire ça pour ses entités ? (sur un findBy par exemple)
Idem sur les enfants d'une entité, y a-t-il moyen de paramétrer ça sans devoir le coder dans le get ?

En gros un mécanisme de cache sur les find, et get des enfants avec suppression du cache sur le delete.

Sinon, une idée pour mise en place ?

Merci wink

Hors ligne

 

#2 14-03-2014 16:55:05

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Mise en cache des résultats

Salut, les cas où tu auras besoin d'utiliser un cache pour des requêtes SQL restera assez limité. Par exemple la récupération d'un profil utilisateur n'a pas de sens d'être en cache car si tu veux changer un droit sur l'utilisateur il faut que ça soit instantané et non pas 4h00 après quand le cache sera expiré wink. Donc utiliser un cache global j'en vois pas l'utilité. C'est sûrement possible mais jamais cherché à le faire pour la raison cité ci-dessus.

Ensuite tu as déjà un mécanisme de cache interne dans doctrine, c'est à dire que si tu fais deux fois la même requête SQL pour afficher une page, elle ne serait faite qu'une fois par doctrine wink.

Hors ligne

 

#3 17-03-2014 11:08:02

Stoomm
Membre
Date d'inscription: 06-05-2009
Messages: 48

Re: Mise en cache des résultats

Bonjour Orkin,

Perso le fait de tout mettre en cache m'a déjà servi sur un projet (serveur à la ramasse).
Je mettais les résultats de requêtes en cache et supprimais ceux concerné lors d'un update / save. Gros gain, mais c'était en effet spécifique.

Merci pour ta réponse en tout cas, on va dire que cela n'est pas prévu par défaut, je vais donc voir ce que je peux faire tout seul comme un grand wink

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