1.) Die Lebenszeit
Durch die Eigenschaft cache_lifetime wird die Gültigkeitsdauer des Cache-Eintrags bestimmt, angegeben in Sekunden. Wird der Wert 0 oder false gesetzt, wird die Block-Ausgabe für immer gecached. Um das Caching für einen Block zu deaktivieren muss der Wert auf null gesetzt werden. Die Cache Lifetime kann bei vielen Blöcken auf gut via Layout XML gesetzt werden:
<reference name=“name.des.blocks“>
<action method=“setCacheLifetime“<sec>3600</sec></action>
</reference>
So können viele Blöcke bei Bedarf gecached werden ohne das sie via
2.) Der Cache Key
Der Cache Key identifiziert eindeutig einen Block-Cache-Eintrag. Sollen mehrere Variationen eines Blocks gecached werden, beispielsweise eine für jede Sprache, so muss sich die Eigenschaft cache_key für jede der Varianten unterscheiden. In der Regel wird letzteres erreicht in dem die aktuelle Store Id als Teil des Cache-Key gesetzt wird.
Seit Magento 1.4 wird der Cache-Key eines Blocks aus den Elementen des von der Methode getCacheKeyInfo() zurückgelieferten Arrays aufgebaut. Der Default Cache-Key eines Blocks ist der Name im Layout XML.
3.) Die Cache Tags
Die Cache Tags eines Blocks sind ein Array von Strings. Sie dienen dazu den Cache-Pool von Magento zu segmentieren. So kann z.B. der HTML Block-Cache gelöscht werden, ohne das der Konfigurations Cache-Pool davon beeinflusst wird. Als Default-Wert für die Cache-Tags wird array('block_html') verwendet. Meistens ist das so ausreichend, unter Umständen kann es jedoch hilfreich sein den Cache weiter zu segmentieren. Zum Beispiel könnte ein komplexer Navigations-Block mit den Cache-Tags array('block_html', 'navi') gecached werden. Jedes mal wenn sich etwas an der Datenstruktur ändert, aus dem die Navigation aufgebaut wird, kann dann gezielt nur der Navi-Cache aktualisiert werden: Mage::app()->cleanCache(array('navi'));