質問

構成設定と税率に基づいた値を計算します。

それらのInfosの1つが変更されたときに自動的にクリアされるように、どのようにキャッシュできますか?

これはすべて、適切なタグを使用することについてです。そうすれば、自動的にクリアされますか?

役に立ちましたか?

解決

構成パーツの場合、アイテムを保存するときに構成キャッシュタグを追加できます。

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帰属
所属していません magento.stackexchange
scroll top