magento2中的缓存类型和缓存管理

7天成为Magento系统架构师,现在开始学习Magento全栈开发!

《Magento2.X企业级开发实战》

下面,我将阐明 Magento 2 中的缓存管理。由于该平台的第二个版本与当前版本不同,因此了解与 Magento 2 缓存管理相关的所有细微差别至关重要。 让我们从 Magento 2 中可用的缓存类型开始。

Magento 2 的缓存类型

magento2版本适用于以下类型的缓存:

配置 (config) 缓存 – 当 Magento 从其所有模块收集配置、合并并保存到缓存时,会出现此缓存。此外,它还包括来自文件系统和数据库的商店特定设置。您应该在更改配置文件后刷新或清理此类缓存。

布局(layout)缓存由编译后的页面布局组成。正如您可能已经猜到的那样,这种缓存类型需要在您修改布局文件后进行清理或刷新。

块 HTML 输出 (block_html) 缓存——这是关于每个块的 HTML 页面片段。更改视图层后清理或刷新 block_html 缓存。

集合数据(collections)缓存是与数据库查询相关的。如有必要,Magento 会为此缓存提供自动清理。同时,可以将任何数据放入集合缓存的任何段中。请注意,如果您的自定义模块使用导致 Magento 无法清除的缓存条目的逻辑,您应该刷新它。

DDL (db_ddl) 缓存——这都是关于数据库模式的。它也可以自动清理,并且可以将任何数据放在 db_ddl 缓存的任何段中。在对数据库架构进行自定义更改后,应刷新缓存。

实体属性值(eav)缓存——该缓存包含与EAV属性相关的Metadata,如店铺标签、搜索设置、属性渲染等,无需刷新或清理该缓存。

页面缓存 (full_page) 缓存是由于生成的 HTML 页面而发生的。它由 Magento 自动清理,可由第三方开发人员修改。更改影响 HTML 输出的代码级别后清理 full_page 缓存。

翻译(translate)缓存由来自所有模块的合并翻译组成。

集成配置 (config_integration) 缓存与编译的集成相关。添加新的集成或修改现有的集成后清理它。

集成 API 配置 (config_integration_api) 缓存是关于已编译的集成 API。

Web 服务配置(config_webservice)缓存——Web API 结构的缓存。

先决条件
您应该以具有写入 Magento 文件系统权限的用户身份登录 Magento 服务器。 只需切换到 Web 服务器用户即可。

要从任何目录运行 Magento 命令,请使用以下代码并将其添加到系统 PATH。

<your Magento install dir>/bin

由于 shell 通常有不同的语法,您应该查看此页面或类似的来源以获取更多帮助。 CentOS 示例具有以下外观:

export PATH=$PATH://var/www/html/magento2/bin

这些是运行命令的其他一些方法:

cd <your Magento install dir>/bin

运行它们:

./magento <command name>
php <your Magento install dir>/bin/magento <command name>

如何检查magento2缓存状态


通过输入以下代码,您将显示缓存状态

magento cache:status
                   layout: 1
               block_html: 1
              collections: 1
                   db_ddl: 1
                      eav: 1
                full_page: 1
                translate: 1
       config_integration: 1
   config_integration_api: 1
        config_webservice: 1

magento2如何启用/禁用缓存类型


借助以下命令选项,您可以同时启用或禁用所有缓存类型或仅使用指定的缓存类型。 在开发过程中禁用缓存类型是必要的,因为它提供了在不刷新缓存的情况下查看改进结果的能力。 您还应该记住,此过程会显着降低性能。 所以使用以下命令选项来启用/禁用缓存。

magento cache:enable [type]

magento cache:disable [type]

其中 [type] 是以空格分隔的缓存类型列表。 您可以通过省略此选项同时启用/禁用所有缓存类型。

查看缓存类型和状态列表,使用

magento cache:status

如果您需要禁用 DDL 缓存和整页缓存,请使用以下命令

magento cache:disable full_page db_ddl

结果应该是这样的:

Changed cache status:

                full_page: 1 -> 0
                   db_ddl: 1 -> 0

magento2如何清理和刷新缓存类型


要从缓存中删除过时的项目,您应该清理或刷新它。 考虑以下:

如果清除缓存类型,则只会从启用的类型中删除所有项目。 禁用类型不受影响。

如果您刷新缓存类型,则会清除其存储。 请注意,所有具有指定存储空间的缓存类型都会被刷新。

magento cache:clean [type]

magento cache:clean [type]

其中 [type] 是用空格分隔的缓存类型列表。 省略它以同时清理或刷新所有缓存类型。

要清除所有缓存类型,请输入

magento cache:clean

你应该得到以下结果:

config
layout
block_html
collections
db_ddl
eav
full_page
translate
config_integration
config_integration_api
config_webservice

恭喜! 现在,您知道如何在 Magento 2 中使用缓存了。如果出现问题,请在下方发表您的评论 – Firebear 团队将始终为您提供帮助。

如无特殊说明或标注,任何个人或组织,复制、转载、采集本站内容请注明:
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。