2017-02-22 2 views
0

Je me souviens d'avoir lu quelque chose de similaire sur la Doctrine de Symfony, mais je ne trouve rien à ce sujet dans la documentation de Zend 2.Est-ce que Zend TableGateway cache automatiquement les requêtes dupliquées?

Voici la question explique:

Disons que dans une seule action du contrôleur que j'appelle deux fonctions modèles (aussi bien en même modèle): les deux fonctions fonctionnent exactement les mêmes TableGateway ensembles de requête. Ces requêtes seulement SELECT données. De plus, il n'y a aucune opération INSERT/UPDATE dans cette action.

Dans ce cas, Zend exécuterait-il les ensembles de requêtes deux fois? Ou, voyant qu'ils sont dupliqués et qu'aucune opération INSERT/UPDATE n'est effectuée entre-deux, il exécutera l'ensemble de requêtes une seule fois, et la seconde fois le retournera à partir d'un cache interne.

ps. Juste au cas où, s'il vous plaît, comprenez que je n'ai pas besoin de conseils généraux sur les meilleures pratiques, juste la réponse spécifique de quelqu'un qui connaît les profondeurs du noyau de Zend.

Répondre

0

Non. Il serait tout de même mal de le faire car votre application n'a aucune idée si une autre application a écrit dans la base de données et a invalidé votre requête en cache.

Si vous avez le cache de requête activé dans mon sql alors la requête pourrait être mis en mémoire cache les SGBDR sait si ces données peuvent être mises en cache ou si elle a été modifiée.