我计算一个基于配置设置和税率的值。

当其中一个Infos更改时,如何以一种自动清除的方式缓存它?

这是关于使用正确的标签的全部,然后将自动清除?

有帮助吗?

解决方案

对于配置部分,您可以在保存项目时添加配置缓存标签:

Mage::app()->saveCache($data, $id, array(
    Mage_Core_Model_Config::CACHE_TAG
), $lifeTime=false);

每次清除此标签时,它都会删除您的缓存物品。

不幸的是,这不会扩展到税收设置,也没有特定税收标签。相反,您可以创建自己的缓存标签(MY_TAX_CACHE_TAG).

Mage::app()->saveCache($data, $id, array(
    Mage_Core_Model_Config::CACHE_TAG,
    'MY_TAX_CACHE_TAG'
), $lifeTime=false);

此外,您需要在 tax_settings_change_after.

class Observer
{
    public function taxSettingsChangeAfter($observer)
    {
        Mage::app()->cleanCache('MY_TAX_CACHE_TAG');
    }   
}

其他提示

这是保存物品缓存的策略,并在一段时间后(在此示例10800秒或3小时)过期。

$mydataforcache = "My data for cache";
$cache_name = "mycachename";
$CACHEDATA = MAGE::app()->loadCache($cache_name);
if (isset($CACHEDATA) && ($CACHEDATA != "")){
// Use data
echo $CACHEDATA;
} else {
// Save data to cache
Mage::app()->saveCache($mydataforcache, $cache_name, array(), 10800);
}

资源: http://www.g31zone.com/?tag=magento-save-data-to-cache

从缓存中清除此特定值:

 To remove individual values from the cache, we use:

 $cache->remove("mycachename");

资源: http://www.nicksays.co.uk/developers-guide-magento-cache/

也可以看看: http://alanstorm.com/magento_config_a_critique_and_caching

许可以下: CC-BY-SA归因
scroll top