0

簡単な質問:

無効化されたキャッシュは、キャッシュが実行されていないことを意味しますか?

4

1 に答える 1

4

いいえ、単にリフレッシュする必要があることを意味します。

Magento では、製品や静的ブロックなどに変更を加えるたびに、データベース内のデータがキャッシュ内のデータと同じではないことが認識されます。残念ながら、Magento はキャッシュ データの違いを認識しておらず、何かが違うだけです

[システム] > [キャッシュ管理]に移動し、無効化されたキャッシュ タイプを更新する必要があります。

必要に応じて、これを自動的に更新するように設定できます。

キャッシュを更新するための cron ジョブをセットアップするために使用できるモジュールを作成します (または既存のモジュールを使用します)。ファイルを作成します: {namespace}/{modulename}/Model/Observer.php

そのファイル内:

<?php
class <namespace>_<modulename>_Model_Observer {

  public function refreshCache() {
    try {
      $allTypes = Mage::app()->useCache();
      foreach($allTypes as $type => $blah) {
        Mage::app()->getCacheInstance()->cleanType($type);
      }
    } catch (Exception $e) {
      // do something
      error_log($e->getMessage());
    }
  }

}

モジュールの etc/config.xml で:

<config>
  ...
  <crontab>
    <jobs>
      <{modulename}_refresh_cache>
        <schedule><cron_expr>* * * * *</cron_expr></schedule>
        <run><model>{modulename}/observer::refreshCache</model></run>
      </{modulename}_refresh_cache>
    </jobs>
  </crontab>
  ...
</config>

サーバーでcronが正しく構成されている限り、cronが実行されるたびにキャッシュが自動的に更新されます。

于 2012-09-27T01:56:39.127 に答える