Je vois qu'il y a des paramètres de cache dans chacune de mes vues. Dois-je les définir ou les mécanismes de mise en cache du noyau dans / admin / config / development / performance font-ils automatiquement une partie de cela et ces "paramètres supplémentaires" dans les vues le sont si je veux remplacer le comportement de mise en cache par défaut de Drupal Core?
23
Réponses:
QUOI: La mise en cache des performances de base stocke et sert toute la page rendue avec un identifiant de cache de l'URL. La mise en cache des vues va au-delà de cela pour ne mettre en cache que la sortie de la vue.
POURQUOI: C'est génial pour les utilisateurs connectés; d'autres blocs de la page peuvent être plus dynamiques, mais la vue n'a pas à exécuter une requête à chaque fois pour chaque utilisateur ... juste l'utilisateur occasionnel qui génère le cache de page à l'expiration de la durée de vie du cache.
PARAMÈTRES: Permettre à la "sortie rendue" d'être plus fraîche que la requête est utile pour des choses comme marquer le contenu comme nouveau, sinon il suffit de les faire correspondre.
GRANDE IMAGE: Drupal sert la page dynamiquement, en utilisant un serveur pour créer des pages en PHP et accéder à une base de données (ou cache en mémoire). Cela permet des fonctionnalités impressionnantes et la vitesse de l'éditeur de contenu ... mais le compromis doit comprendre la mise en cache et le faire correctement.
MODULES!
Il y a aussi un joli module Views Content Cache qui vide le cache des vues lors de la modification du contenu. Si vous souhaitez aller plus loin, vous pouvez également consulter les actions de cache , je recommande les règles pour affiner cela.
De plus, Blockcache Alter vous permet de définir des options de mise en cache "par rôle", page, utilisateur, etc. pour chaque bloc de votre site.
Vous pouvez également ajouter un gestionnaire de pages et des panneaux . Cela vous permet de faire des choses intéressantes comme définir le cache "par utilisateur", "par rôle", ou un certain nombre d'autres configurations très utiles. Bien que j'évite personnellement les panneaux.
DOCUMENTATION: Pour la mise en cache et les performances en général, consultez la page Drupal.org .
la source
Views utilise les API de cache Drupal mais il crée son propre cache qui n'est pas lié au cache de page / bloc Drupal normal.
Vues met en cache la définition de la vue elle-même avec la vue rendue elle-même. La vue rendue peut être mise en cache de deux manières, soit le résultat de la requête, soit le code HTML réel de la vue. Normalement, vous voulez mettre en cache le code HTML généré car c'est la plus efficace en termes de performances. Dans certains cas, lorsque vous souhaitez modifier la sortie en fonction de l'utilisateur connecté, la mise en cache de la requête peut également être très efficace.
Les tables que Views utilise pour stocker le cache sont les suivantes:
cache_views
cache_views_data
la source
Il existe maintenant un module intéressant appelé vues cache bully qui met automatiquement en cache toutes les vues (résultats de requête et sortie), à l'exception des vues avec des formulaires exposés. Le module vous permet également d'exclure manuellement des vues de sa mise en cache. Cela permet de définir la mise en cache pour toutes les vues (sauf celles exclues) à partir d'un point central.
la source
Drupal 7 fournit la mise en cache des pages, mais la mise en cache des pages ne fonctionne que pour les utilisateurs anonymes et ne met pas en cache les vues
La mise en cache des vues fonctionne cependant pour les utilisateurs anonymes et connectés
la source