浏览文章

文章信息

Magento2 缓存管理 15337


管理缓存

除了本主题中描述的命令参数之外,请参阅常用参数

Magento文件系统所有者身份运行所有Magento CLI命令

缓存类型概述

Magento 2具有以下缓存类型:

缓存类型“友好”的名称缓存类型代码名称描述
组态配置Magento从所有模块收集配置,合并它,并将合并的结果保存到缓存。此缓存还包含存储在文件系统和数据库中的特定于商店的设置。修改配置文件后清除或刷新此缓存类型。
布局布局编译的页面布局(即所有组件的布局组件)。修改布局文件后清理或刷新此缓存类型。
阻止HTML输出block_html每个块的HTML页面片段。修改视图图层后清除或刷新此缓存类型。
收藏数据集合数据库查询的结果。如有必要,Magento会自动清理此缓存,但第三方开发人员可以将任何数据放入缓存的任何部分。如果您的自定义模块使用导致Magento无法清理的缓存条目的逻辑,请清除或刷新此缓存类型。
DDLdb_ddl数据库架构。如有必要,Magento会自动清理此缓存,但第三方开发人员可以将任何数据放入缓存的任何部分。在对数据库模式进行自定义更改后清理或刷新此缓存类型。(换句话说,Magento不会自行更新。)自动更新数据库模式的一种方法是使用该magento setup:db-schema:upgrade命令。
编译配置compiled_config编译配置
实体属性值(EAV)EAV与EAV属性相关的元数据(例如,商店标签,相关PHP代码的链接,属性呈现,搜索设置等)。您通常不需要清理或刷新此缓存类型。
页面缓存完整页面生成的HTML页面。如有必要,Magento会自动清理此缓存,但第三方开发人员可以将任何数据放入缓存的任何部分。修改影响HTML输出的代码级别后,清除或刷新此缓存类型。建议保持启用此缓存,因为缓存HTML可显着提高性能。
反射反射删除Webapi模块和Customer模块之间的依赖关系。
翻译翻译合并所有模块的翻译后,将清理合并缓存。
集成配置config_integration编译集成。更改或添加集成后清理或刷新此缓存。
集成API配置config_integration_apiStore's Integrations的编译集成API配置。
Web服务配置config_webservice缓存Web API结构。
客户通知customer_notification出现在用户界面中的临时通知。

查看缓存状态

要查看缓存的状态,请输入

   bin/magento cache:status

示例如下:

                config: 1
                layout: 1
            block_html: 1
           collections: 1
            reflection: 1
                db_ddl: 1
       compiled_config: 1
                   eav: 1
 customer_notification: 1
    config_integration: 1
config_integration_api: 1
             full_page: 1
     config_webservice: 1
             translate: 1

启用或禁用缓存类型

使用此命令可以启用或禁用所有缓存类型,或仅启用您指定的缓存类型。在开发期间禁用缓存类型非常有用,因为您无需刷新缓存即可查看更改结果; 但是,禁用缓存类型会对性能产生负面影响。

从2.2版开始,您只能在生产模式下运行Magento时使用命令行启用或禁用缓存类型。如果在开发人员模式下运行Magento,则可以使用命令行或手动启用或禁用缓存类型。在此之前,您必须手动使Magento文件系统所有者<magento_root>/app/etc/env.php可写

您可以使用命令行或Magento Admin清除(也称为刷新刷新)缓存类型

命令选项:

   bin/magento cache:enable [type] ... [type]
   bin/magento cache:disable [type] ... [type]

省略的同时[type]启用或禁用所有缓存类型。type选项是以空格分隔的缓存类型列表。

列出缓存类型及其状态:

   bin/magento cache:status

例如,要禁用整页缓存和DDL缓存:

   bin/magento cache:disable db_ddl full_page

样本结果:

   Changed cache status:       db_ddl: 1 -> 0    full_page: 1 -> 0

启用缓存类型会自动清除该缓存类型。

清理和刷新缓存类型

要从缓存中清除过期项,可以清理刷新缓存类型:

  • 清除缓存类型仅从启用的Magento缓存类型中删除所有项目。换句话说,此选项不会影响其他进程或应用程序,因为它只清除Magento使用的缓存。

    未清除已禁用的缓存类型。

    升级Magento Open Source或Magento Commerce版本,从Magento Open Source升级到Magento Commerce,或安装Magento Commerce for B2B或任何模块后,始终清理缓存。

  • 刷新缓存类型会清除缓存存储,这可能会影响使用相同存储的其他进程应用程序。

如果您已经尝试清理缓存并且仍然遇到无法隔离的问题,请刷新缓存类型。

命令用法:

   bin/magento cache:clean [type] ... [type]
   bin/magento cache:flush [type] ... [type]

[type]空格分隔的缓存类型列表在哪里省略同时[type]清除或刷新所有缓存类型。例如,要刷新所有缓存类型,请输入

   bin/magento cache:flush

样本结果:

   Flushed cache types:
   config
   layout
   block_html
   collections
   reflection
   db_ddl
   compiled_config
   eav
   customer_notification
   config_integration
   config_integration_api
   full_page
   config_webservice
   translate

您还可以在Magento Admin中清理和刷新缓存类型进入系统 > 工具 > 缓存管理刷新缓存存储相当于bin/magento cache:flushFlush Magento Cache相当于bin/magento cache:clean


原创