Magento 2使用zend_cache与缓存存储交互。然而,Magento 2也有Magento\Cache库实现的具体缓存Magento。这些主题讨论如何配置缓存和缓存类型。
默认情况下,文件系统缓存启用;位于
.
更改缓存配置,编辑
.
缓存配置是与下列类似的关联数组:
'cache_types' =>
array (
'config' => 1,
'layout' => 1,
'block_html' => 1,
'collections' => 1,
'db_ddl' => 1,
'eav' => 1,
'full_page' => 1,
'translate' => 1,
'config_integration' => 1,
'config_webservice' => 1,
'config_integration_api' => 1,
),
);
上面列出了所有缓存类型,并显示它们都已启用。
Magento 2允许您配置文件系统缓存替代默认缓存。本指南讨论了一些替代方案,即,
设置 Vanish无需修改Magento的配置。
Magento 2使用以下缓存术语:
以下配置缓存选项 :
/app/etc/di.xml
/app/etc/env.php
因为它覆盖了等效配置 di.xml
Varnish 不需要更改Magento 2的配置.
Magento 2 的默认前端缓存你可以使用任何缓存类型
使用 default
缓存类型, 不需要修改env.php
修改 di.xml
. 参见引用的主题低级别缓存选项
您必须指定一个自定义缓存前端要么 app/etc/env.php
或 app/etc/di.xml
.
下面的示例演示如何在 env.php
(重写 di.xml
):
'cache' => [
'frontend' => [
'' => [
],
],
'type' => [
=> [
'frontend' => ''
],
],
'type' => [
=> [
'frontend' => ''
],
],
],
您可以指定前端和后端env.php或di.xml缓存配置选项。这个任务是可选的
env.php
例子:
'frontend' => ,
'frontend_options' => [
=> ,
...
],
'backend' => ,
'backend_options' => [
=> ,
...
],
下一步
Magento 2 使用一个低级别的缓存,前端和后端提供访问缓存存储。
Magento 2 继承 Zend_Cache_Core 通过 Magento\Framework\Cache\Core 来实现前端低级别缓存.
Vanish不需要设置低级缓存
本主题讨论如何使用Magento 2数据库缓存. cache
和 cache_tag
,缓存的对象存储在Magento 2数据库表。不存储 var/cache
或 var/page_cache
.
di.xml
.env.php
..default
前端缓存为了使数据库前端缓存使用默认,你必须修改
。
修改 di.xml
:
输入下列命令以复制 di.xml
:
cd /app/etc
cp di.xml di.xml.bak
打开 di.xml
在文本编辑器中找到下面的块:
-
-
- page_cache
- page_cache
用以下替换整个块:
-
- database
-
- database
- database
保存您的更改并退出文本编辑器di.xml。
本节介绍如何使用自定义缓存前端设置数据库缓存。
由于一个已知的问题,自定义缓存前端仍有一些对象被缓存到文件系统。
为了使数据库缓存使用自定义缓存前端,你必须修改
:
输入下列命令以复制 env.php
:
cd /app/etc
cp env.php env.php.bak
打开 env.php
在文本编辑器中任何地方添加如下 'cache_types' =>
:
'cache' => [
'frontend' => [
'' => [
],
],
'type' => [
=> [
'frontend' => ''
],
],
'type' => [
=> [
'frontend' => ''
],
],
],
例子: 配置实例
env.php
的更改,并关闭编辑器.验证数据库缓存工作,明确当前的缓存目录,在Web浏览器的任何可缓存的页面,并验证数据写入数据库而不是文件系统。
使用步骤:
清除当前缓存目录 :
rm -rf /var/cache/* /var/page_cache/* /var/di/* /var/generation/*
在Web浏览器中,去任何可缓存的页面.
如果显示异常, 验证 di.xml
语法,然后再试一次. (要在浏览器查看到异常显示,你必须 使用开发者模式.)
输入下面的命令:
ls /var/cache/*
ls /var/page_cache/*
di.xml
纠正任何问题。使用一个数据库工具,例如 phpMyAdmin查看 cache
和 cache_tag
表.
显示结果如下图:
cache
数据表.
cache_tag
数据表.
本节包含配置数据库缓存示例代码片段。
di.xml
示例di.xml
代码片段:
-
- database
-
- database
- database
env.php
示例env.php
代码片段,所有的缓存类型与自定义前端缓存命名 magento_cache
:
'cache' => [
'frontend' => [
'magento_cache' => [
'backend' => 'database'
],
],
'type' => [
'config' => [
'frontend' => 'magento_cache'
],
'layout' => [
'frontend' => 'magento_cache'
],
'block_html' => [
'frontend' => 'magento_cache'
],
'view_files_fallback' => [
'frontend' => 'magento_cache'
],
'view_files_preprocessing' => [
'frontend' => 'magento_cache'
],
'collections' => [
'frontend' => 'magento_cache'
],
'db_ddl' => [
'frontend' => 'magento_cache'
],
'eav' => [
'frontend' => 'magento_cache'
],
'full_page' => [
'frontend' => 'magento_cache'
],
'translate' => [
'frontend' => 'magento_cache'
],
'config_integration' => [
'frontend' => 'magento_cache'
],
'config_integration_api' => [
'frontend' => 'magento_cache'
],
'config_webservice' => [
'frontend' => 'magento_cache'
],
],
],