[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

キャッシング

クラウドインフラストラクチャープロジェクト環境キャッシュを有効にすることができます。 キャッシュを無効にすると、Adobe Systems 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/

また、次のルートは キャッシュされません

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

キャッシュ時間

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

キャッシュキー

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

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

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

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

キャッシュ属性

enabled

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

headers

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

例えば、headers のキーが次のような場合:

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

次にAdobe Systemsコマースは、 Accept HTTP ヘッダーの値ごとに異なる応答をキャッシュします。

cookies

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

例:

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

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

cookies キーに ["*"] 値がある場合は、特別なケースがあります。この値は、cookieを持つすべてのリクエストキャッシュをバイパスすることを意味します。 これがデフォルト値です。

NOTE
cookie名にワイルドカードは使用できません。 正確な cookie 名を使用するか、アスタリスク(*)ですべての cookie に一致します。 例えば、SESS*~SESS は現在 無効 値です。

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

  • システムには最大 50 個の cookie が設定されています。 それ以外の場合、アプリケーションは Unable to send the cookie. Maximum number of cookies would be exceeded 例外をスローします。 Cookie の数を 200 に増やすには、Quality Patches Tool を使用して 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
7c2b03ac-000c-497d-aba3-2c6dc720a938