Magento2开发教程 - Magento 2 数据库缓存
2017-05-29 09:52
381 查看
数据库缓存概述
本主题讨论如何使用Magento 2数据库缓存. cache 和 cache_tag ,缓存的对象存储在Magento 2数据库表。不存储 var/cache 或 var/page_cache.
使用默认的前端缓存, 只需要修改 di.xml.
使用一个自定义的前端缓存, 只需要修改env.php.
样本配置 .
数据库缓存 使用 default 前端缓存
为了使数据库前端缓存使用默认,你必须修改 <Magento 2 安装目录>/app/etc/di.xml。
修改 di.xml:
登录到magento2服务器,切换到 Magento 2文件系统所有者.
输入下列命令以复制 di.xml:
cd <Magento 2 安装目录>/app/etc
cp di.xml di.xml.bak
打开 di.xml 在文本编辑器中找到下面的块:
<type name="Magento\Framework\App\Cache\Frontend\Pool">
<arguments>
<argument name="frontendSettings" xsi:type="array">
<item name="page_cache" xsi:type="array">
<item name="backend_options" xsi:type="array">
<item name="cache_dir" xsi:type="string">page_cache</item>
</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Cache\Type\FrontendPool">
<arguments>
<argument name="typeFrontendMap" xsi:type="array">
<item name="full_page" xsi:type="string">page_cache</item>
</argument>
</arguments>
</type>
用以下替换整个块:
<type name="Magento\Framework\App\Cache\Frontend\Pool">
<arguments>
<argument name="frontendSettings" xsi:type="array">
<item name="page_cache" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
<item name="<your cache id>" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Cache\Type\FrontendPool">
<arguments>
<argument name="typeFrontendMap" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</argument>
</arguments>
</type>
保存您的更改并退出文本编辑器di.xml。
继续验证数据库的缓存工作.
数据库缓存使用自定义前端缓存
本节介绍如何使用自定义缓存前端设置数据库缓存。
由于一个已知的问题,自定义缓存前端仍有一些对象被缓存到文件系统。
为了使数据库缓存使用自定义缓存前端,你必须修改 <Magento 2 安装目录>/app/etc/env.php :
登录到magento 2服务器,转换到 Magento 2文件系统所有者.
输入下列命令以复制 env.php:
cd <Magento 2 安装目录>/app/etc
cp env.php env.php.bak
打开 env.php 在文本编辑器中任何地方添加如下 'cache_types' =>:
'cache' => [
'frontend' => [
'<unique frontend id>' => [
<cache options>
],
],
'type' => [
<cache type 1> => [
'frontend' => '<unique frontend id>'
],
],
'type' => [
<cache type 2> => [
'frontend' => '<unique frontend id>'
],
],
],
例子: 配置实例.
保存 env.php的更改,并关闭编辑器.
继续下一节 .
验证数据库的缓存工作
验证数据库缓存工作,明确当前的缓存目录,在Web浏览器的任何可缓存的页面,并验证数据写入数据库而不是文件系统。
使用步骤:
登录magento 2服务器,切换到Magento 2文件系统所有者.
清除当前缓存目录 :
rm -rf <Magento 2 安装目录>/var/cache/* <Magento 2 安装目录>/var/page_cache/* <Magento 2 安装目录>/var/di/* <Magento 2 安装目录>/var/generation/*
在Web浏览器中,去任何可缓存的页面.
如果显示异常, 验证 di.xml 语法,然后再试一次. (要在浏览器查看到异常显示,你必须 使用开发者模式.)
输入下面的命令:
ls <Magento 2 安装目录>/var/cache/*
ls <Magento 2 安装目录>/var/page_cache/*
请验证两个目录是否为空;如果没有,请再次编辑 di.xml纠正任何问题。
使用一个数据库工具,例如 phpMyAdmin 查看 cache 和 cache_tag 表.
显示结果如下图:
cache 数据表.
Sample contents of the cache table with database 缓存 enabled
cache_tag 数据表.
Sample contents of the cache tag table with database 缓存 enabled
配置实例
本节包含配置数据库缓存示例代码片段。
前端默认缓存di.xml示例
di.xml 代码片段:
<type name="Magento\Framework\App\Cache\Frontend\Pool">
<arguments>
<argument name="frontendSettings" xsi:type="array">
<item name="page_cache" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
<item name="default" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Cache\Type\FrontendPool">
<arguments>
<argument name="typeFrontendMap" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</argument>
</arguments>
</type>
一个自定义的前端缓存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' =&g
a732
t; 'magento_cache'
],
'translate' => [
'frontend' => 'magento_cache'
],
'config_integration' => [
'frontend' => 'magento_cache'
],
'config_integration_api' => [
'frontend' => 'magento_cache'
],
'config_webservice' => [
'frontend' => 'magento_cache'
],
],
],
本主题讨论如何使用Magento 2数据库缓存. cache 和 cache_tag ,缓存的对象存储在Magento 2数据库表。不存储 var/cache 或 var/page_cache.
使用默认的前端缓存, 只需要修改 di.xml.
使用一个自定义的前端缓存, 只需要修改env.php.
样本配置 .
数据库缓存 使用 default 前端缓存
为了使数据库前端缓存使用默认,你必须修改 <Magento 2 安装目录>/app/etc/di.xml。
修改 di.xml:
登录到magento2服务器,切换到 Magento 2文件系统所有者.
输入下列命令以复制 di.xml:
cd <Magento 2 安装目录>/app/etc
cp di.xml di.xml.bak
打开 di.xml 在文本编辑器中找到下面的块:
<type name="Magento\Framework\App\Cache\Frontend\Pool">
<arguments>
<argument name="frontendSettings" xsi:type="array">
<item name="page_cache" xsi:type="array">
<item name="backend_options" xsi:type="array">
<item name="cache_dir" xsi:type="string">page_cache</item>
</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Cache\Type\FrontendPool">
<arguments>
<argument name="typeFrontendMap" xsi:type="array">
<item name="full_page" xsi:type="string">page_cache</item>
</argument>
</arguments>
</type>
用以下替换整个块:
<type name="Magento\Framework\App\Cache\Frontend\Pool">
<arguments>
<argument name="frontendSettings" xsi:type="array">
<item name="page_cache" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
<item name="<your cache id>" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Cache\Type\FrontendPool">
<arguments>
<argument name="typeFrontendMap" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</argument>
</arguments>
</type>
保存您的更改并退出文本编辑器di.xml。
继续验证数据库的缓存工作.
数据库缓存使用自定义前端缓存
本节介绍如何使用自定义缓存前端设置数据库缓存。
由于一个已知的问题,自定义缓存前端仍有一些对象被缓存到文件系统。
为了使数据库缓存使用自定义缓存前端,你必须修改 <Magento 2 安装目录>/app/etc/env.php :
登录到magento 2服务器,转换到 Magento 2文件系统所有者.
输入下列命令以复制 env.php:
cd <Magento 2 安装目录>/app/etc
cp env.php env.php.bak
打开 env.php 在文本编辑器中任何地方添加如下 'cache_types' =>:
'cache' => [
'frontend' => [
'<unique frontend id>' => [
<cache options>
],
],
'type' => [
<cache type 1> => [
'frontend' => '<unique frontend id>'
],
],
'type' => [
<cache type 2> => [
'frontend' => '<unique frontend id>'
],
],
],
例子: 配置实例.
保存 env.php的更改,并关闭编辑器.
继续下一节 .
验证数据库的缓存工作
验证数据库缓存工作,明确当前的缓存目录,在Web浏览器的任何可缓存的页面,并验证数据写入数据库而不是文件系统。
使用步骤:
登录magento 2服务器,切换到Magento 2文件系统所有者.
清除当前缓存目录 :
rm -rf <Magento 2 安装目录>/var/cache/* <Magento 2 安装目录>/var/page_cache/* <Magento 2 安装目录>/var/di/* <Magento 2 安装目录>/var/generation/*
在Web浏览器中,去任何可缓存的页面.
如果显示异常, 验证 di.xml 语法,然后再试一次. (要在浏览器查看到异常显示,你必须 使用开发者模式.)
输入下面的命令:
ls <Magento 2 安装目录>/var/cache/*
ls <Magento 2 安装目录>/var/page_cache/*
请验证两个目录是否为空;如果没有,请再次编辑 di.xml纠正任何问题。
使用一个数据库工具,例如 phpMyAdmin 查看 cache 和 cache_tag 表.
显示结果如下图:
cache 数据表.
Sample contents of the cache table with database 缓存 enabled
cache_tag 数据表.
Sample contents of the cache tag table with database 缓存 enabled
配置实例
本节包含配置数据库缓存示例代码片段。
前端默认缓存di.xml示例
di.xml 代码片段:
<type name="Magento\Framework\App\Cache\Frontend\Pool">
<arguments>
<argument name="frontendSettings" xsi:type="array">
<item name="page_cache" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
<item name="default" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Cache\Type\FrontendPool">
<arguments>
<argument name="typeFrontendMap" xsi:type="array">
<item name="backend" xsi:type="string">database</item>
</argument>
</arguments>
</type>
一个自定义的前端缓存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' =&g
a732
t; 'magento_cache'
],
'translate' => [
'frontend' => 'magento_cache'
],
'config_integration' => [
'frontend' => 'magento_cache'
],
'config_integration_api' => [
'frontend' => 'magento_cache'
],
'config_webservice' => [
'frontend' => 'magento_cache'
],
],
],
相关文章推荐
- Magento2开发教程 - 副缓存前端缓存类型
- Magento 2 页面缓存和默认缓存中使用Redis - Magento2开发教程
- Magento2开发教程 - Magento 2 缓存简介 Cache
- Magento2开发教程 - 缓存失效和私有内容版本
- Magento 2开发教程 - 配置数据库分析器(profiler)
- Android SQLite 开发教程(3): 创建数据库
- Android SQLite 开发教程(4): 读写数据库操作
- Magento 新闻模块开发教程 (五) 创建辅助类
- Magento 新闻模块开发教程 (六) 创建模型
- Magento 新闻模块开发教程 (一) 创建骨架目录
- Yii Framework 开发教程(25) 数据库-Query Builder示例
- Magento-中文开发教程
- Magento模块开发教程
- Yii Framework 开发教程(27) 数据库-关联Active Record示例
- magento的运费模块开发教程(Customize Magento Shipping Module Tutorial)
- Yii Framework 开发教程(23) 数据库-概述
- Android SQLite 开发教程(5): 导出数据库到XML 文件
- Magento 新闻模块开发教程 (四) 创建模块的xml配置文件
- Sqlserver2005 CLR数据库对象开发指南教程
- Magento 新闻模块开发教程 (八) 建立模板文件