[オンプレミス]{class="badge informative" title="Adobe Commerce オンプレミス プロジェクトにのみ適用されます。"}

キャッシュバックエンドオプションとストレージリファレンス

NOTE
このページでは、オンプレミス app/etc/env.phpの設定について説明します。
Adobe Commerce on Cloud プロジェクトの場合、ece-tools パッケージは、.magento.env.yamlのデプロイ変数設定に基づいて、デプロイ時に結果のapp/etc/env.php設定を生成します。 env.php ファイルは編集できません。 ValkeyおよびRedis サービス設定🔗および変数のデプロイ ​に関する ベストプラクティスを参照してください。

Commerce アプリケーションでは、低レベルのキャッシュフロントエンドとバックエンドを使用して、キャッシュストレージへのアクセスを提供します。 Commerceは、複数のキャッシングバックエンドと戦略をサポートしており、それぞれ異なるユースケースに適しています。 このページでは、使用可能なバックエンドとその違いについて説明します。

NOTE
Varnishは、オンプレミスのデプロイメントのHTTP レベルでフルページ キャッシュを処理します。 Fastly サービス ​は、クラウドのデプロイメントに対して処理します。 どちらのソリューションも低レベルのキャッシュバックエンドを使用しません。

バックエンドキャッシュオプション

次の表に、使用可能なバックエンドキャッシュの概要を示します。

バックエンド
説明
設定ガイド
ファイルシステム
デフォルト: キャッシュデータをvar/cache/の下のファイルに保存します。 設定は必要ありません。
該当なし
Redis
高性能なキャッシュを実現するインメモリデータストア。
​ デフォルトのキャッシュにRedisを使用
バルキー
オープンソースのRedis互換の代替手段。
既定のキャッシュにValkeyを使用
データベース
データベースに裏打ちされたカスタムキャッシュエンジン
​ カスタムキャッシュエンジンの作成 (Adobe Developer ドキュメント)
IMPORTANT
Redis キャッシュは、Adobe Commerce 2.4.9、または2.4.5-p16、2.4.6-p14、2.4.7-p9、および2.4.8-p4以降のパッチリリースではサポートされていません。 これらのバージョンのいずれかにアップグレードする場合は、Valkeyを設定し、キャッシュ設定を更新して使用します。 Adobe Commerce on-premisesについては、Valkeyの設定を参照してください。

バックエンドおよびL2のキャッシュ実装 implementation-approaches

Commerceは、ダイレクトキャッシュのバックエンドとL2 キャッシュをサポートしています。 ダイレクトバックエンドでは、キャッシュストレージが選択されます。 L2 キャッシュでは、リモートストレージの前にローカルキャッシュレイヤーが追加されます。

ダイレクトキャッシュバックエンド

次のPHPの例では、<Commerce-install-dir>/app/etc/env.phpのキャッシュバックエンドを設定しています。 L2 キャッシュを有効にしません。

Commerce版
導入
バックエンド
設定値
2.4.8以前(サポートされている場合)
レガシー
ファイルシステム (デフォルト)
設定は必要ありません
2.4.8以前(サポートされている場合)
レガシー
Redis
Magento\Framework\Cache\Backend\Redis
2.4.8以前(サポートされている場合)
レガシー
バルキー
Magento\Framework\Cache\Backend\Valkey
2.4.9以降、およびサポートされているバックポート
最新のSymfony キャッシュ
ファイルシステム (デフォルト)
file
2.4.9以降、およびサポートされているバックポート
最新のSymfony キャッシュ
バルキー
valkey

正確なパッチレベルのサポートについては、必要システム構成を参照してください。

NOTE
最新の実装ではredis タイプ名を受け入れますが、RedisはValkeyが必要な正式にサポートされているキャッシュサービスではありません。 代わりにvalkeyを使用してください。

従来のZend ベースのバックエンドの例

オンプレミスのデプロイメントの場合、次の例では、<Commerce-install-dir>/app/etc/env.phpでダイレクトキャッシュバックエンドを設定します。 L2 キャッシュを有効にしません。 デプロイメント中に結果のapp/etc/env.php設定を生成するためにece-tools パッケージを使用するAdobe Commerce on Cloud デプロイメントでは、これらの例を使用しないでください。

従来のバックエンド Redis

Redisがサポートされているリリースでのみ、完全なRedis クラス名を使用します。

code language-php?start_inline=1
'cache' => [
    'frontend' => [
        'default' => [
            'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis',
            'backend_options' => [
                'server' => '127.0.0.1',
                'database' => '0',
                'port' => '6379',
            ],
        ],
    ],
],
従来のバックエンド Valkey

従来のValkey バックエンドをサポートするリリースでは、Valkey クラスの完全な名前を使用します。

code language-php?start_inline=1
'cache' => [
    'frontend' => [
        'default' => [
            'backend' => 'Magento\\Framework\\Cache\\Backend\\Valkey',
            'backend_options' => [
                'server' => '127.0.0.1',
                'database' => '0',
                'port' => '6379',
            ],
        ],
    ],
],

最新のSymfony Cache バックエンド

デフォルトのダイレクトバックエンドはファイルシステムです。 最新の実装でValkeyを使用するには、簡素化されたvalkey バックエンドタイプを使用します。

次の設定例は、最新のSymfony Cache実装でダイレクトデフォルトキャッシュを設定する場合の、Adobe Commerce 2.4.9以降およびValkeyがサポートされているサポート対象のバックポートに対して正しいものです。

'cache' => [
    'frontend' => [
        'default' => [
            'backend' => 'valkey',
            'backend_options' => [
                'server' => '127.0.0.1',
                'database' => '0',
                'port' => '6379',
            ],
        ],
    ],
],
TIP
Symfony Cacheの実装は、igbinaryのシリアル化、圧縮、Lua スクリプト、永続接続などのオプションのパフォーマンス機能をサポートしています。 詳しくは、​ デフォルトおよびページキャッシュのValkeyの設定を参照してください。

L2 キャッシュ実装

L2 (2 レベル)キャッシュでは、各web ノードのローカルキャッシュ層が共有リモートキャッシュストレージの前に追加され、Commerceとリモートキャッシュ間のネットワークトラフィックが削減されます。

Commerce版
L2の実装
リモートバックエンド
2.4.9より前(サポートされている場合)
RemoteSynchronizedCache
RedisまたはValkey (Commerce リリースとパッチレベルのサポート行列に応じて)
2.4.9以降
symfony_l2
バルキー

オンプレミス設定については、L2 キャッシュ設定を参照してください。

クラウドプロジェクトの場合、​ デプロイ変数で説明されているデプロイメント変数を使用してL2 キャッシュを設定します。

L2 キャッシュ設定

  • Adobe Commerce on-premises​設定の詳細については、L2 キャッシュ設定を参照してください。

  • Adobe Commerce on Cloud​の場合、app/etc/env.phpを直接編集するのではなく、適切なデプロイメント変数を使用してL2 キャッシュを設定します。 Adobe Commerce on Cloud ドキュメントの変数のデプロイ ​を参照してください。

recommendation-more-help
commerce-operations-help-configuration