キャッシュ

クラウドインフラストラクチャプロジェクト環境でキャッシュを有効にできます。 キャッシュを無効にすると、Adobe Commerceはファイルを直接提供します。

NOTE
次のルート設定例では、ルートテンプレートとプレースホルダーを使用しています。 {default} プレースホルダーは、サイトに設定された既定のドメインを表します。 プロジェクトに複数のドメインがある場合は、{all} プレースホルダーを使用して、デフォルトドメインとすべてのエイリアスのルーティングを設定します。 ​ ルートの設定を参照してください。

キャッシュの設定

次のように.magento/routes.yaml ファイルでキャッシュルールを設定して、アプリケーションのキャッシュを有効にします。

http://{default}/:
    type: upstream
    upstream: php:php
    cache:
        enabled: true
        headers: [ "Accept", "Accept-Language", "X-Language-Locale" ]
        cookies: ["*"]
        default_ttl: 60

ルートベースのキャッシュ

次の例に示すように、複数のルートに対して個別にキャッシングルールを設定して、きめ細かいキャッシュを有効にします。

http://{default}/:
    type: upstream
    upstream: php:php
    cache:
        enabled: true

http://{default}/path/:
    type: upstream
    upstream: php:php
    cache:
        enabled: false

http://{default}/path/more/:
    type: upstream
    upstream: php:php
    cache:
        enabled: true

上記の例では、次のルートをキャッシュします。

  • http://{default}/
  • http://{default}/path/more/
  • http://{default}/path/more/etc/

次のルートは​not キャッシュです:

  • http://{default}/path/
  • http://{default}/path/etc/
NOTE
ルートの正規表現は​サポートされていません

キャッシュ時間

キャッシュ時間は、Cache-Control応答ヘッダー値によって決まります。 応答にCache-Control ヘッダーがない場合、default_ttl キーが使用されます。

キャッシュキー

レスポンスをキャッシュする方法を決定するために、Adobe Commerceは、いくつかの要素に依存するキャッシュキーを作成し、このキーに関連付けられたレスポンスを保存します。 リクエストが同じキャッシュキーを持つ場合、応答は再利用されます。 その目的は、HTTP Vary ヘッダーと似ています。

パラメーターheadersおよびcookies キーを使用すると、このキャッシュキーを変更できます。

これらのキーのデフォルト値は次のとおりです。

cache:
    enabled: true
    headers: ["Accept-Language", "Accept"]
    cookies: ["*"]

キャッシュ属性

enabled

trueに設定した場合は、このルートのキャッシュを有効にします。 falseに設定した場合は、このルートのキャッシュを無効にします。

headers

キャッシュキーが依存する値を定義します。

例えば、headers キーが次の場合です。

cache:
    enabled: true
    headers: ["Accept"]

次に、Adobe Commerceは、Accept HTTP ヘッダーの値ごとに異なるレスポンスをキャッシュします。

cookies

cookies キーは、キャッシュキーがどの値に依存する必要があるかを定義します。

例:

cache:
    enabled: true
    cookies: ["value"]

キャッシュキーは、リクエスト内のvalue Cookieの値によって異なります。

cookies キーの値が["*"]の場合、特殊ケースが存在します。 この値は、Cookieを使用したリクエストがキャッシュをバイパスすることを意味します。 これがデフォルト値です。

NOTE
Cookie名にワイルドカードを使用することはできません。 正確なCookie名を使用するか、すべてのCookieにアスタリスク (*)を付けます。 例えば、SESS*または~SESSは現在​ not ​の有効な値です。

Cookieには次の制限があります。

  • システムには最大​ 50 Cookie ​が設定されています。 それ以外の場合は、Unable to send the cookie. Maximum number of cookies would be exceeded例外がスローされます。 Cookieの数を200に増やすには、品質パッチツール ​を使用してMDVA-12304 パッチ ​を適用します。
  • 最大Cookie サイズは​ 4096 バイト ​です。 それ以外の場合は、Unable to send the cookie. Size of '%name' is %size bytes例外がスローされます。

default_ttl

応答にCache-Control ヘッダーがない場合、default_ttl キーを使用してキャッシュ時間を秒単位で定義します。 デフォルト値は0です。つまり、何もキャッシュされません。

recommendation-more-help
commerce-on-cloud-help-cloud-guide