Mettre en cache des données dans Magento

La mise en cache de données dans Magento peut avoir un impact non négligeable sur les performances de votre site. Voici comment en quelques lignes de code vous pourrez facilement mettre en cache tout type de données.

<?php
// ...
$cacheId = 'my_cache_id';
if (false !== ($data = Mage::app()->getCache()->load($cacheId))) {
    $data = unserialize($data);
} else {
    $data = $this->getMyHeavyData();
    Mage::app()->getCache()->save(serialize($data), $cacheId);
}
//...

Et c’est tout ;)

6 réponses à “Mettre en cache des données dans Magento”

  1. mohammed abdelrahman dit :

    Thanks!

  2. Vlad N. dit :

    Thanks dude, this helped me alot.

  3. Luis dit :

    Hello,

    Where do you use this lines?

    THank you for your answer.
    Cheers

  4. Joshua Jarman dit :

    How can one check if a cache key is enabled or disabled? I want to tag my caching onto BLOCK_HTML caching and have it only happen if that is enabled.

  5. MAXIME HURAN dit :

    I found how to proceed :

    $cacheId = ‘my_cache_id';

    if (Mage::app()->useCache(‘block_html)) {
    if (false !== ($data = Mage::app()->loadCache($cacheId))) {
    /* PROCESS CACHE */
    $mydatas = unserialize($data);
    } else {
    /* PROCESS NO CACHE */
    $mydatas = « toto »;
    Mage::app()->saveCache(serialize($fapiResponse), $cacheId, array(‘block_html’), 86400);
    }
    } else {
    /* PROCESS NO CACHE */
    }

    If you are in a block inherits Mage_Core_Block_Abstract you can use :
    self::CACHE_GROUP instead of « block_html »
    $this->getCacheTags instead of array(‘block_html’)

Laisser un commentaire

* Champs requis

Categories