Magento Cache System Basic Concepts
Magento Cache System Basic Concepts
Retrieving Data
Mage::app()->loadCache($id);
Deleting Cache
Mage::app()->removeCache($id);
Checking If Cache Is Enabled
Mage::app()->useCache('collection'); //check if cache group is enabled or not
Cache Tags
Magento has an important concept cache tags in its caching system. Magento basically uses tags to group cache
data together and then we clear a specific tag group from admin, it removes all data specific to that tag group.
The different cache tags we have are
“block_html”,”collections”,”config”,”config_api”,”config_api2″,”eav”,”layout”,”translate” ,”mage”
These are the same configuration tags which we see when we go to System -> Cache Management
So when you clear a single cache tag in magento, it will clear all cache data related to that tag.
The “mage” tag is a special tag, it automatically gets added when you save anything in magento except when
you save configuration data.
Template Caching
Lets look at how magento cache’s your blocks and phtml files.
All magento block extend “Mage_Core_Block_Abstract” class which has the “toHtml()” function. This
function is called when the template of a particular block is displayed. In this function, we have the $this-
>_loadCache() which check if cache is enabled from admin and if cache data is present. If data is present in
cache, it directly displays it else the toHtml() function “core/template” is called. So this is how all your magento
blocks automatically get cache and all blocks use “block_html” as cache tag.