Magento管理者のキャッシュ管理で、キャッシュが無効であると表示されるとはどういう意味ですか? Magentoはキャッシュが無効であることをどのように知っていますか?特に、私はHTMLブロックキャッシュについて疑問に思っています。どのような条件でこのキャッシュが無効になって表示されるのですか?Magentoでは "無効化された"キャッシュの意味は何ですか?
答えて
Magentoでは、製品、静的ブロックなどを変更するたびに、データベース内のデータがキャッシュ内のデータと同じではないことが認識されます。残念ながら、Magentoは実現しません何のキャッシュのデータは、ちょうどその何かが異なっています。
システム>キャッシュ管理に移動し、無効化されたキャッシュタイプを更新する必要があります。
EDIT:
は、モジュールを作成(または既存のモジュールを使用)を使用すると、キャッシュをリフレッシュするためにcronジョブを設定するために使用することができます。 {名前空間}/{モジュール名} /Model/Observer.php
そのファイル内::あなたのモジュールのetc/config.xmlに
<?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());
}
}
}
:
<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が実行されるときに自動的に更新されます。
2015:AOE Sスケーターはcronjobでキャッシュをクリーニングすることができます。 変更JOB
"core_clean_cache"
59 * * * *
に(毎日午前2時30分)30 2 * * *
から
(毎週59分)。
@Magento Guyの回答は正しいですが、以下のこの解決策はMagentoの無効化されたキャッシュをリフレッシュするのに役立ちます。
私はBitnami Magento Stackを使用していますが、このソリューションは私が見つけた最高のものでした。
私はMage_Shell_Class PHPファイルを作成しようとしましたが、成功しませんでした。無効なキャッシュ配列は実行時に常に空でした。何があっても、なぜそれほど想像できません。
私は、PHPファイル「をsample.php」作成しました:私は、Magentoのルートフォルダの上に置かれてきた、と私はrootユーザーの下で実行されるcronジョブを使用し、それを起動する
<?php
require 'app/Mage.php';
$invalid = Mage::app()->getCacheInstance()->getInvalidatedTypes();
foreach($invalid as $i)
{
Mage::app()->getCacheInstance()->cleanType($i["id"]);
}
を。だから、
、rootユーザーにcronジョブを作成するには:
sudo crontab -u root -e
を、これはそれを実行するために私のコマンドラインだった:
* * * * * . /opt/bitnami/scripts/setenv.sh ; /opt/bitnami/php/bin/php /opt/bitnami/apps/magento/htdocs/sample.php >> /var/log/cron/cron.log 2>&1
このライン上のいくつかの部分は、私の問題に非常に特定されています:
- 無効化されたキャッシュをリフレッシュするだけなので、毎分実行することにしました。
- setenv.shは、この特定のbitnamiスタックを扱うときに環境を設定するのに役立つスクリプトです。
- このスクリプトの出力を得るには、この最後の部分 ">> /var/log/cron/cron.log 2> &"を使用して、作成したディレクトリ(/ var/log/cron)、正しいアクセス権を与えています。
おそらく、あなたはcron lineコマンドを変更する必要がありますが、これが役立つと思います。
- 1. パラメータ化された型は何を意味しますか?
- 2. 難読化されたコードは何を意味しますか?
- 3. rangeErrorとは何ですか:無効なステータスコード:0の意味ですか?
- 4. 測定された無線LANネットワークの意味は何ですか?
- 5. 文字列化された16進数形式の意味は何ですか?
- 6. 客観的な意味での意味は何ですか?
- 7. セッション無効化とは何ですか?
- 8. 意味は何ですか - [[NodeJSでは?
- 9. NSDecimalAdd() - constの意味は何を意味するのですか?
- 10. ReactJSでは何の意味ですか?
- 11. MongoDBでの意味は何ですか?
- 12. Perlで@_の意味は何ですか?
- 13. web.configの暗号化は無意味ですか?
- 14. JavaFXでイベントが消費される意味は何ですか
- 15. [alternatives --config mta]で表示される意味は何ですか?
- 16. Proguard難読化ソースコードの "** accept"の意味は何ですか?
- 17. コンパイル時の抽象化の意味は何ですか?
- 18. Pythonの[...]の意味は何ですか?
- 19. Makefileの '%'の意味は何ですか?
- 20. タイコの$の意味は何ですか
- 21. "* ngFor"の "*"の意味は何ですか?
- 22. Perlの=〜の意味は何ですか?
- 23. numpyの '*'の意味は何ですか?
- 24. os.pathの "./"の意味は何ですか?
- 25. Goでは何が/ ...意味ですか?
- 26. CSSの意味は何ですか?
- 27. forループの意味は何ですか?
- 28. x [:] = yの意味は何ですか?
- 29. :: ::の意味は何ですか?
- 30. dylibファイルの意味は何ですか?
私はキャッシュをリフレッシュする方法を理解していますが、キャッシュが無効になっていることがわかったときに実行します。キャッシュが無効になっていることがどのように分かっているのか分かりません。そして、なぜキャッシュが無効であることが分かっていれば、自動的にキャッシュをリフレッシュしませんか?キャッシュをリフレッシュするリスクはありますか? – localfilmmaker
変更するたびに、magentoがイベントを発生させます。関連するキャッシュを無効にするこれらのイベントのリスナーがあります。なぜこれを行うのか(なぜそれが自動的にリフレッシュされないのか)は、最終的には設計上の決定ですが、おそらくコンテンツをステージングすることと関係しています。たとえば、相互に関係する複数の製品に変更を加え、キャッシュを更新することができます。私は、cronがサーバー上で動作するたびに実行されるcronジョブでこれを克服し、自動的にキャッシュをリフレッシュする関数を呼び出します。元の答えを編集してコードを追加します。 –
非常に悪い解決策:すべてのキャッシュをリフレッシュするcronを設定する、実行するたびにキャッシュを無効にする...少なくともキャッシュが無効になっているかどうかチェックし、10分30秒ごとにcronを設定する必要があります... – WonderLand