Juil
28

La vérité sur le cache ttl d’ez publish

Voilà un petit retour suite à une longue investigation sur le fameux

{set-block scope=root variable=cache_ttl}0{/set-block}

Cette ligne permet d’invalider le cache de vue (cache content) de TOUTE la page.

Voici les différents cas dans lesquels le cache va être invalidé :

Déclaration de cette ligne dans les templates suivants :

• Le content view (c’est le template qui se charge d’afficher le rendu de $module_result.content, dans la plupart du temps la view full)

• N’importe quel template inclus à partir du template utilisé pour le content view

• Dans un template qui utilise un opérateur qui va renvoyer le contenu d’un autre template qui va contenir le cache ttl à 0

Les déclarations dans les fichiers suivants n’ont AUCUN impact car non pris en compte donc complètement inutile :

• Le pagelayout

• Templates inclus à partir du pagelayout

• Templates chargés depuis attribute_view_gui, block_view_gui, node_view_gui, etc

• D’une manière générale, tous les templates utilisés en dehors du module_result.content

Il existe peut-être d’autres cas auxquels je n’ai pas pensé, si vous en connaissez d’autres, n’hésitez pas à remonter l’info.

Le scope défini n’a aucune importance, il n’est pas pris en compte.

Pour savoir si le cache du vue d’une page est invalidé ou non, il suffit d’aller voir le fichier de cache généré.
Celui-ci se trouve dans var/SITE/cache/content/SITEACCESS/
Une fois le fichier localisé, il suffit de l’ouvrir et de regarder tout en bas la valeur de la variable « cache_ttl ». Si celle-ci est à 0, une variable « no_cache » sera aussi présente.



1 Comment to “La vérité sur le cache ttl d’ez publish”

  • Ez publish 12 mai 2016 à 21 h 31 min

    Billet qui résume bien mais je rencontre un souci : lorsque j’utilise ce ttl dans une view full, le cms génère 16 requêtes sql, même si le code de ma vue full ne contient rien d’autre que le ttl… Du coup je n’arrive pas à encapsuler proprement une sidebar dans des cache blocks à l’intérieur de ma vue full. Obligé de faire ca dans la pagelayout…

Poster un commentaire

Edito

Bienvenue sur Mémorandom.

Mémorandom est le blog de 2 développeurs web, Appo et Nico.

Vous y trouverez des informations sur différents domaines touchant de près ou de loin au développement web

Tutoriels Yii Framework

Nos derniers articles

Blogs Dev

Liens

Étiquettes