キャッシュの概要と設定オプション
Adobe Commerceは、データベースの負荷を軽減し、冗長な処理を最小限に抑え、ページ配信を高速化するために、多層キャッシングアーキテクチャに依存しています。 アプリケーションレベルでは、Commerceは12種類以上の キャッシュタイプ を管理します。これらは、設定、レイアウト、ブロックHTML、コレクションなど、それぞれRedisやValkeyなどの専用のストレージバックエンドにルーティングできます。 フルページキャッシュの場合、Adobeでは、キャッシュされたページをメモリから直接提供するHTTP アクセラレータであるVarnishを強くお勧めします。 L2 キャッシュ や静的コンテンツ署名などの追加レイヤーは、高トラフィックのマルチノード展開のパフォーマンスをさらに向上させます。
このガイドでは、各キャッシングレイヤーの仕組みを説明し、デプロイメント要件に合わせてフロントエンド、バックエンド、高度なオプションを設定する方法を説明します。
フロントエンドのキャッシュ
キャッシュフロントエンドとは、Commerceとキャッシュストレージバックエンド間のインターフェイスのことです。 複数のフロントエンドを定義し、それぞれ異なるバックエンド設定を使用して、特定の キャッシュタイプ を各フロントエンドに割り当てることができます。 設定の詳細については、 キャッシュフロントエンドの設定を参照してください。
バックエンドのキャッシュ
キャッシュバックエンドは、キャッシュされたデータの基礎となるストレージメカニズムです。 Commerceにはデフォルトのファイルシステムバックエンドが用意されていますが、RedisやValkeyなどの他のバックエンドを設定して、パフォーマンスと拡張性を向上させることができます。 使用可能なオプションについて詳しくは、 キャッシュバックエンドオプション を参照してください。
Varnishによるフルページのキャッシュ
Varnish Cacheは、すべてのページをメモリにキャッシュするHTTP アクセラレータです。 Adobeでは、組み込みのフルページキャッシュよりも大幅に高速なVarnishを本番環境に強くお勧めします。
L2 (2 レベル)キャッシュ
L2 キャッシュ は、リモート キャッシュ (RedisまたはValkey)を信頼できる唯一の情報源として使用しながら、各web ノードにキャッシュ データをローカルに保存します。 これにより、web ノードとリモートキャッシュ間のネットワークトラフィックが削減され、トラフィックの多いサイトのパフォーマンスが向上します。
静的なコンテンツキャッシュ
静的コンテンツ署名は、デプロイメントバージョンをファイル URLに埋め込むことで、静的リソース(CSS、JavaScript、画像)のブラウザーキャッシュを無効にします。
キャッシュ用語
Commerceは次のキャッシュ用語を使用しています:
- Frontend — ストレージをキャッシュするためのインターフェイスまたはゲートウェイ。Magento\Framework\Cache\Frontendによって実装されています。
- キャッシュタイプ — Commerceで提供される組み込み型(
config、layout、block_html、full_pageなど)または カスタムタイプ のいずれか。 - Backend — Magento\Framework\Cache\Backendによって実装された キャッシュストレージ の詳細を指定します。
- 2 レベルのバックエンド — キャッシュ レコードを、ローカル (高速) キャッシュとリモート (共有) キャッシュの2つのバックエンドに保存します。 L2 キャッシュ設定を参照してください。
設定オプション
キャッシュ設定は、次の2つのファイルに保存されます。
<magento_root>/app/etc/di.xml— グローバル依存関係インジェクション設定。 指定されたdefaultキャッシュ フロントエンドを変更するには、このファイルを変更します。<magento_root>/app/etc/env.php– 環境固有の設定。 カスタムキャッシュフロントエンドを設定するには、このファイルを変更します。 このファイルは、di.xmlの同等の設定を上書きします。
フロントエンドからタイプへのマッピングとキャッシュ設定の構文について詳しくは、次を参照してください。
- キャッシュフロントエンドの設定 – 特定のキャッシュタイプにキャッシュフロントエンドを関連付けます
- キャッシュバックエンドオプション — バックエンドオプション参照