Magento2でキャッシュを有効/無効またはクリアする方法

公開: 2018-01-16

目次

SimiCartの読者の皆さん、こんにちは。このMagentoチュートリアルへようこそ。

Magentoキャッシュは、後続のリクエストのページ読み込み時間を改善するために保存されるページ(またはページの一部)です。 キャッシュはデータを保存するため、そのデータの将来の呼び出しをより迅速にロードできます。Magentoには、構成、レイアウト、ブロックHTMLレイアウト、フルページ(最もよく知られている)、コレクション、DDL、EAV、リフレクション、翻訳、統合構成、統合API構成、Webサービス構成。 他のタイプを作成および定義できます。

キャッシュタイプの有効化/無効化

Magento2バックエンドの場合

  1. Magentoバックエンドで、[システム]>[ツール] >[キャッシュ管理]に移動します。
    キャッシュの更新
  2. 有効/無効にするキャッシュタイプのチェックボックスをオンにします。 次に、左上隅で適切なアクション(有効化/無効化)を選択し、[送信]ボタンをクリックします。

コマンドラインの使用

このコマンドを使用すると、一部またはすべてのキャッシュタイプを有効または無効にできます。 キャッシュタイプを無効にすると、キャッシュをフラッシュしなくても変更の結果を確認できるため、開発中に役立ちます。 ただし、キャッシュタイプを無効にすると、パフォーマンスに悪影響があります。

コマンドオプション:

 magento cache:enable [type] ... [type]
magento cache:disable [type] ... [type]

[type]を省略すると、すべてのキャッシュタイプが同時に有効または無効になります。 typeオプションは、スペースで区切られたキャッシュタイプのリストです。

キャッシュタイプとそのステータスを一覧表示するには:

 Magentoキャッシュ:ステータス

たとえば、フルページキャッシュとDDLキャッシュを無効にするには:

 magentoキャッシュ:db_ddlfull_pageを無効にする

サンプル結果:

 キャッシュステータスの変更:
 db_ddl:1-> 0
 full_page:1-> 0

Magento2のキャッシュをクリア

キャッシュから古いアイテムをクリアするには、キャッシュタイプをクリーンアップまたはフラッシュできます。

  • キャッシュタイプをクリーンアップすると、有効なMagentoキャッシュタイプからのみすべてのアイテムが削除されます。 つまり、このオプションはMagentoが使用するキャッシュのみをクリーンアップするため、他のプロセスやアプリケーションには影響しません。 無効にされたキャッシュタイプはクリーンアップされません
  • キャッシュタイプをフラッシュ*すると、キャッシュストレージがクリアされます。これは、同じストレージを使用している他のプロセスまたはアプリケーションに影響を与える可能性があります。

*キャッシュのクリーニングをすでに試しても、まだ特定できない問題が発生している場合にのみ、キャッシュタイプをフラッシュする必要があります。

Magento2バックエンドの場合

  1. Magentoバックエンドで、[システム]>[ツール] >[キャッシュ管理]に移動します。
  2. クリーンアップ/フラッシュするキャッシュタイプのチェックボックスをオンにします。 それで、
    • キャッシュをクリーンアップする場合は、[ Magentoキャッシュのフラッシュ]をクリックします。 これはmagentocache:cleanと同等です
    • キャッシュをフラッシュする場合は、[キャッシュストレージのフラッシュ]クリックします。 これはmagentocache:flushと同等です
  3. さらにキャッシュのクリーンアップ/フラッシュを行うには、[追加のキャッシュ管理]セクションまでスクロールして、次のタイプのキャッシュをフラッシュすることもできます。
    • カタログ画像キャッシュのフラッシュ:media / catalog / product/cacheに保存されている自動的にサイズ変更および透かし入れされたカタログ画像をすべて削除します。 最近アップロードした画像がカタログに反映されていない場合は、カタログをフラッシュしてブラウザを更新してみてください。
    • JavaScript / CSSキャッシュのフラッシュ:JavaScriptファイルとCSSファイルのマージされたコピーをキャッシュから削除します。 スタイルシートまたはJavaScriptへの最近の変更がストアに反映されない場合は、JavaScript / CSSキャッシュをフラッシュして、ブラウザーを更新してみてください。
    • 静的ファイルキャッシュのフラッシュ:前処理されたビューファイルと静的ファイルを削除します。
    • ブラウザのキャッシュも必ずクリアしてください。

コマンドラインの使用

コマンドの使用法:

 magento cache:clean [type] ... [type]
magento cache:flush [type] ... [type]

ここで、 [type]はスペースで区切られたキャッシュタイプのリストです。 [type]を省略すると、すべてのキャッシュタイプが同時にクリーンアップまたはフラッシュされます。 たとえば、すべてのキャッシュタイプをフラッシュするには:

 Magentoキャッシュ:フラッシュ

サンプル結果:

 フラッシュされたキャッシュタイプ:
設定
レイアウト
block_html
コレクション
db_ddl
eav
全ページ
翻訳
config_integration
config_integration_api
config_webservice

キャッシュステータスを表示する

キャッシュのステータスを表示するには、次のように入力します。

 Magentoキャッシュ:ステータス

サンプル結果:

 設定:1
                レイアウト:1
            block_html:1
           コレクション:1
                db_ddl:1
                   eav:1
             full_page:1
             翻訳:1
    config_integration:1
config_integration_api:1
     config_webservice:1

キャッシュタイプの概要

Magento2には次のキャッシュタイプがあります。

キャッシュタイプコード名説明
構成設定Magentoはすべてのモジュールから構成を収集してマージし、マージされた結果をキャッシュに保存します。 このキャッシュには、ファイルシステムとデータベースに保存されているストア固有の設定も含まれています。

管理パネル内の構成ファイルまたは設定を変更した後、このキャッシュタイプをクリーンアップまたはフラッシュします。

レイアウトレイアウトコンパイルされたページレイアウト(つまり、すべてのコンポーネントのレイアウトコンポーネント)。

レイアウトファイルを変更した後、このキャッシュタイプをクリーンアップまたはフラッシュします。

HTML出力をブロックするblock_html ブロックごとのHTMLページフラグメント。

ビューレイヤーを変更した後、このキャッシュタイプをクリーンアップまたはフラッシュします。

コレクションデータコレクションデータベースクエリの結果。

必要に応じて、Magentoはこのキャッシュを自動的にクリーンアップしますが、サードパーティの開発者はキャッシュの任意のセグメントに任意のデータを配置できます。

カスタムモジュールがMagentoがクリーンアップできないキャッシュエントリをもたらすロジックを使用している場合は、このキャッシュタイプをクリーンアップまたはフラッシュします。

DDL db_ddl データベーススキーマ。

必要に応じて、Magentoはこのキャッシュを自動的にクリーンアップしますが、サードパーティの開発者はキャッシュの任意のセグメントに任意のデータを配置できます。

データベーススキーマにカスタム変更を加えた後、このキャッシュタイプをクリーンアップまたはフラッシュします。 (言い換えると、Magentoがそれ自体を作成しない更新。)

データベーススキーマを自動的に更新する1つの方法は、 magento setup:db-schema:upgradeコマンドを使用することです。

エンティティ属性値(EAV) eav EAV属性に関連するメタデータ(たとえば、ストアラベル、関連するPHPコードへのリンク、属性のレンダリング、検索設定など)。

通常、このキャッシュタイプをクリーンアップまたはフラッシュする必要はありません。

ページキャッシュ全ページ生成されたHTMLページ。

必要に応じて、Magentoはこのキャッシュを自動的にクリーンアップしますが、サードパーティの開発者はキャッシュの任意のセグメントに任意のデータを配置できます。

HTML出力に影響するコードレベルを変更した後、このキャッシュタイプをクリーンアップまたはフラッシュします。 HTMLをキャッシュするとパフォーマンスが大幅に向上するため、このキャッシュを有効にしておくことをお勧めします。

反射反射WebapiモジュールとCustomerモジュール間の依存関係を削除します。
翻訳翻訳すべてのモジュールからの翻訳をマージしました。
統合構成config_integration コンパイルされた統合。

統合を変更または追加した後、このキャッシュをクリーンアップまたはフラッシュします。

統合API構成config_integration_api コンパイルされた統合API。
Webサービスの構成config_webservice WebAPI構造。

関連記事:

Magento2でフルページキャッシュを構成する方法

Magento2でモジュールを有効または無効にする方法