magento
Magento Caching
Recherche…
Comment mettre en cache des données personnalisées dans Magento
const CACHE_TAG_NAMESPACE_MODULE = "YOUR_MODULES_CACHE_TAGS";
$cacheGroup = 'namespace_module';
$useCache = Mage::app()->useCache($cacheGroup);
if (true === $useCache) {
$cacheId = 'unique_name';
if ($cacheContent = Mage::app()->loadCache($cacheId)) {
$html = $cacheContent;
return $html;
} else {
try {
$cacheContent = $html;
$tags = array(model::CACHE_TAG_NAMESPACE_MODULE);
$lifetime = Mage::getStoreConfig('core/cache/lifetime');
Mage::app()->saveCache($cacheContent, $cacheId, $tags, $lifetime);
} catch (Exception $e) {
// Exception = no caching
Mage::logException($e);
}
return $html;
}
}
// Default:
return $html;
Nettoyer le cache par ID de cache
Mage::app()->removeCache($cacheId);
Vider toutes les entrées du cache Magento
Mage::app()->cleanCache()
ou:
Mage::app()->getCacheInstance()->flush();
Utilisez Redis comme moteur de cache
Configuration Redis:
- Installer redis (2.4+ requis)
- Installer phpredis
- Installez l'extension Magento
Cm_Cache_Backend_Redis
(uniquement pour Magento 1.7 et inférieur) - Modifiez votre
app/etc/local.xml
:
<global>
...
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
<backend_options>
<server>127.0.0.1</server> <!-- or absolute path to unix socket -->
<port>6379</port>
<persistent></persistent>
<database>0</database>
<password></password>
<force_standalone>0</force_standalone>
<connect_retries>1</connect_retries>
<automatic_cleaning_factor>0</automatic_cleaning_factor>
<compress_data>1</compress_data>
<compress_tags>1</compress_tags>
<compress_threshold>20480</compress_threshold>
<compression_lib>gzip</compression_lib> <!-- Supports gzip, lzf and snappy -->
</backend_options>
</cache>
...
</global>
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow