[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}
配置缓存前端
缓存前端是Commerce和缓存存储后端之间的接口。 您可以定义多个前端,每个前端具有不同的后端设置,然后为每个前端分配特定的缓存类型。
当您希望对不同类型的缓存数据使用不同的缓存后端或配置时,这将很有用。 例如,您可能希望在专用Redis数据库上进行full_page缓存,同时为default缓存使用单独的数据库。
使用默认前端
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等简化的后端类型用于现代Symfony缓存实现。 有关详细信息,请参阅对默认缓存使用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缓存):
'backend' => 'redis'(建议用于Commerce 2.4.9+)
有关基于Zend的选项,请参阅Laminas文档,或有关Redis和Valkey的现代Symfony缓存指南。