キャッシュフロントエンドの設定
キャッシュフロントエンドとは、Commerceとキャッシュストレージバックエンド間のインターフェイスのことです。 複数のフロントエンドを定義し、それぞれ異なるバックエンド設定を使用して、特定の キャッシュタイプ を各フロントエンドに割り当てることができます。
これは、キャッシュされたデータの種類ごとに異なるキャッシュバックエンドまたは設定を使用する場合に便利です。 例えば、defaultのキャッシュに別のデータベースを使用する場合、専用のRedis データベースでfull_pageのキャッシュを行う必要があります。
デフォルトのフロントエンドを使用する
Commerceには、すべてのキャッシュタイプに対応するdefault キャッシュフロントエンドが用意されています。 Magento\Framework\Cache\Core フロントエンドキャッシュを実装することで、Zend_Cache_Coreを拡張します。
ほとんどの場合、フロントエンドをカスタマイズする必要はありません。 バックエンドを設定するだけです。 キャッシュバックエンドオプション を参照してください。
カスタムキャッシュフロントエンドの定義
次の手順では、キャッシュフロントエンドをキャッシュタイプに関連付ける方法を説明します。
手順1:キャッシュフロントエンドの定義とキャッシュタイプの割り当て
カスタムキャッシュフロントエンドを定義するには、設定をapp/etc/env.phpに追加します(設定はdi.xmlを上書きします)。
'cache' => [
'frontend' => [
'<unique frontend id>' => [
<cache options>
],
],
'type' => [
<cache type 1> => [
'frontend' => '<unique frontend id>'
],
<cache type 2> => [
'frontend' => '<unique frontend id>'
],
],
],
どこで:
<unique frontend id>— フロントエンドを識別するための一意の名前(例:default、page_cache、stale_cache_enabled)<cache options>– このフロントエンドのバックエンドタイプとオプション( キャッシュオプション を参照)<cache type>– このフロントエンドに割り当てるCommerce キャッシュの種類(例:config、layout、block_html、full_page)
redis、valkey、fileなどの簡素化されたバックエンドタイプを使用できます。 詳しくは、 デフォルトのキャッシュにRedisを使用および デフォルトのキャッシュにValkeyを使用を参照してください。手順2:フロントエンドとバックエンドオプションの設定
フロントエンドとバックエンドのキャッシュ設定オプションは、env.phpまたはdi.xmlで指定できます。 このタスクはオプションです。 オプションを指定しない場合、Commerceではデフォルトのフロントエンドとバックエンドの設定が使用されます。
env.php例:
'frontend' => <frontend_type>,
'frontend_options' => [
<frontend_option> => <frontend_option_value>,
...
],
'backend' => <backend_type>,
'backend_options' => [
<backend_option> => <backend_option_value>,
...
],
どこで:
-
<frontend_type>– 低レベルのフロントエンド キャッシュ タイプ。Zend\Cache\Coreと互換性のあるクラス名を指定してください。
省略した場合は、Magento\Framework\Cache\Coreが使用されます。 -
<frontend_option>、<frontend_option_value>— Commerce フレームワークが作成時に自動化配列としてフロントエンドキャッシュに渡すオプションの名前と値。 -
<backend_type>– 下位レベルのバックエンド キャッシュの種類。 次を指定できます。- 最新のSymfony キャッシュ (2.4.9以降、推奨):
redis、valkey、fileなどの簡略化された名前 - レガシー(Zend ベース):
Zend_Cache_Backend_Interfaceを実装するZend_Cache_Backendと互換性のあるフルクラス名
- 最新のSymfony キャッシュ (2.4.9以降、推奨):
-
<backend_option>、<backend_option_value>— Commerce フレームワークが作成時にバックエンドキャッシュに連想配列として渡すオプションの名前と値。
- レガシー(Zend ベース):
'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis' - 最新(Symfony Cache):
'backend' => 'redis'(Commerce 2.4.9以降をお勧めします)
Zend ベースのオプションについては、Laminasのドキュメント を参照してください。また、RedisおよびValkeyの最新のSymfony キャッシュガイドも参照してください。