如何在 magento 2 中以编程方式清理或刷新缓存?

2023-10-28

如何在 magento 2 中以编程方式清理或刷新缓存?

在开发的情况下,开发人员或商家的请求,需要以编程方式清除/刷新缓存。如果您在 Magento2 中以编程方式清除缓存时遇到问题,本文适合您。今天,我们将向您展示如何以编程方式清除缓存。

您可以在控制器中以编程方式刷新缓存,因此不需要手动清除缓存,也不需要为特定块禁用缓存。使用下面的代码片段我们可以以编程方式清除刷新缓存。

1. 在命名空间后添加以下行

use Magento\Framework\App\Cache\TypeListInterface;
use Magento\Framework\App\Cache\Frontend\Pool;

2.定义变量

protected $cacheTypeList;
protected $cacheFrontendPool;

3.下面展示代码示例

<?php
namespace Rbj\Cache\Block;

class CacheClear extends \Magento\Framework\View\Element\Template
{
    public function __construct(
        \Magento\Framework\View\Element\Template\Context $context,
        \Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool,
        \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList,
        array $data = []
    ) {
        $this->_cacheFrontendPool = $cacheFrontendPool;
        $this->_cacheTypeList = $cacheTypeList;
        parent::__construct($context, $data);
    }

     /* Using Product id */
    public function cacheClear()
    {
        /* get all types of cache in system */
        $allTypes = array_keys($this->_cacheTypeList->getTypes());

        /* Clean cached data for specific cache type */
        foreach ($allTypes as $type) {
            $this->_cacheTypeList->cleanType($type);
        }

        /* flushed the Entire cache storage from system, Works like Flush Cache Storage button click on System -> Cache Management */
        foreach ($this->_cacheFrontendPool as $cacheFrontend) {
            $cacheFrontend->getBackend()->clean();
        }
    }
}

4.调用如下函数

$productStockById = $block->cacheClear();

5.通过以下方式获取所有缓存类型的列表

$allTypes = array_keys($this->_cacheTypeList->getTypes());

6.结果如下所有缓存类型

List of cache types:
array('config','layout','block_html','collections','reflection','db_ddl',
            'eav', 'customer_notification','config_integration','config_integration_api','full_page', 'translate', 'config_webservice');

7.如果你想刷新所有缓存,使用下面的方法

foreach ($this->_cacheFrontendPool as $cacheFrontend) {
    $cacheFrontend->getBackend()->clean();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 magento 2 中以编程方式清理或刷新缓存? 的相关文章

  • 无法与站点通信以检查致命错误

    无法与站点通信以检查致命错误 因此 PHP 更改已恢复 您需要通过其他方式上传 PHP 文件更改 例如使用 SFTP 有什么解决办法 我正在 WordPress 中编辑头文件 遇到这个问题 尝试这个 我有同样的问题并决定调查一下 更改 wp
  • 在 CentOS 中安装 PHP Zip 扩展

    我正在尝试在 CentOS 中安装 PHP Zip 扩展 我的服务器没有外部互联网访问权限 所以我自己从 PECL 下载了它 http pecl php net package zip http pecl php net package z
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • 我们可以在 Bash 脚本中使用 PHP 吗?

    我有一个 bash 脚本abcd sh bin sh for i in seq 8 do ssh w i uptime ps elf grep httpd wc l free m mpstat done pid sleep 1 kill 9
  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • 使用 CodeIgniter 加载视图文件夹外的视图

    我需要从以下范围之外加载视图 this gt load gt view 这似乎是从base application views目录 如何从外部访问视图 application 目录 我想我将不得不延长CI Loader class这是最好的
  • 如何接收发送到 twilio 号码的短信

    我在 twilio 创建了一个免费帐户 用于通过我的网站发送短信 注册后 我得到了一个 twilio 号码 例如 XXX XXX XXXX 我可以向手机号码发送消息 但我不知道如何使用这个 twilio 号码接收短信 请帮我解决这个问题 T
  • 与 PHP 相比,Python 与 HTML 的“流畅”程度如何?

    我正在考虑从使用 PHP 切换到使用 Python 来开发 Web 应用程序 但我想知道 Python 是否像 PHP 一样擅长在 HTML 中穿插 本质上 我发现它使用起来非常简单 直观将 PHP 放在我想要的位置 然后可以随意安排 组织
  • 带摘要的 php curl 返回两个响应

    我发现了一个 奇怪 的 php CURL 行为 这让我抓狂 基本上我正在做的是使用curl 进行摘要身份验证的调用 这是我的代码的摘录 curl setopt this gt c CURLOPT HTTPAUTH CURLAUTH DIGE
  • phpenmod 显示其他 php 版本的路径

    我的 Ubuntu 机器上安装了 php 7 0 和 7 2 当我执行时php v 它告诉我我正在使用 php 7 2 在 Apache 上我还启用了 php 7 2 当我跑步时phpenmode zip 我明白了 WARNING Modu
  • 很简单的PHP加法问题

    我想我已经关注这个问题太久了 为什么这段代码打印 no 它应该打印 yes 不是吗 我在 PHP 5 3 和 PHP 5 2 上尝试过 都打印 no See 比较浮点数 http www cygnus software com papers
  • 使用活动目录对 Intranet 站点上的用户进行身份验证

    我建立了一个 内联网 站点 它有自己的登录系统 用户注册为新用户 并使用其上的用户名 密码登录该站点 但是 现在我想扩展它 让 Intranet 站点使用现有的 ActiveDirectory 进行身份验证 这就是我正在寻找的 前进 当用户
  • FPM 与 apache2 无法工作(权限被拒绝)

    我正在尝试使用 apache fastcgi 和 fpm 设置一个 Debian Web 服务器 但我越来越恼火 一旦我停用 mod php 我就会收到以下错误 2014 年 5 月 22 日星期四 12 16 10 错误 客户端 xxx
  • 将 jQuery 与 Selenium WebDriver 结合使用 - 如何将 JSON 对象转换为 WebElement?

    我正在使用 Selenium WebDriver 我想执行 jQuery 代码来查找一些元素 我的代码如下 public function uploadGrantDoc script return itemlist grant file u
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • PHP 搜索部分字符串

    如何在键入时搜索部分字符串 不使用 MySQL 例如 MySQL 中的 LIKE 函数 但在搜索字符串时使用 PHP 例如 但这显然行不通 但是有没有一个函数可以搜索部分字符串 那太好了 EDIT 如果它在数组中怎么办 如果我使用 strp
  • 将 Base64 字符串转换为图像文件? [复制]

    这个问题在这里已经有答案了 我正在尝试将我的 Base64 图像字符串转换为图像文件 这是我的 Base64 字符串 http pastebin com ENkTrGNG http pastebin com ENkTrGNG 使用以下代码将
  • Symfony2 - 在自定义验证器中调用 EmailValidator

    我正在创建一个自定义验证器约束来验证 联系人 类似于 John Doe 电子邮件受保护 gt 遵循Cookbook http symfony com doc current cookbook validation custom constr
  • 访问 PHP 数组对象受保护的属性

    我正在尝试在 Symfony2 中上传多个文件 我正在尝试访问以下请求对象 但无法获取参数属性 如何将文件一一上传 我得到的错误 致命错误 无法访问第 66 行 var www File src Webmuch FileBundle Ent
  • 单元测试和静态方法

    阅读并学习单元测试 试图理解以下帖子 http misko hevery com 2008 12 15 static methods are death to testability 这解释了静态函数调用的困难 我不太清楚这个问题 我一直认

随机推荐

  • 勇担重任从不放弃——一个阿里P7的内部求职故事

    Java开发程序员在互联网行业中名声在外 同时也意味着竞争特别激烈 当然 在众多从业者中 并不是每个人都可以经历从Java外包到成为阿里P7这样的成功故事 不过 这个同志通过自己坚定的信仰和勤奋的努力 不仅完成了自己的进步增值 而且分享了成
  • 泰勒图(Taylor Diagrams)和常用模型评价指标小结

    文章内容仅用于自己知识学习和分享 如有侵权 还请联系并删除 一 泰勒图 1 原理 1 1 定义 泰勒图 Taylor diagram 可以简单的理解为一种的可同时展示相关系数 their correlation 中心均方根误差 their
  • win11上的虚拟机安装Ubuntu 16.04和基础环境配置教程

    1 安装 VM 17 win11最好装VM16以后的 2 下载 ubuntu 的iso文件 可以在国内的镜像站下载更快 如下是阿里云的镜像站ubuntu 16 04 网址 https mirrors aliyun com oldubuntu
  • LeetCode 37 把数组排成最小的数

    示例 1 输入 10 2 输出 102 示例 2 输入 3 30 34 5 9 输出 3033459 提示 0 lt nums length lt 100 解题思路 此题求拼接起来的最小数字 本质上是一个排序问题 设数组 nums 中任意两
  • 利用Hu不变矩进行特征提取

    include stdafx h include
  • C# 串口CRC CCITT-FALSE 校验

    串口CRC CCITT FALSE 校验 public static bool CRC16 CCITT FALSE byte byteData C crc 16 CCITT FALSE 带判断校验的 bool flag false usho
  • 大数据从入门到精通(超详细版)之HDFS安装部署 , 跟着部署 , 真的有手就行 !

    前言 嗨 各位小伙伴 恭喜大家学习到这里 不知道关于大数据前面的知识遗忘程度怎么样了 又或者是对大数据后面的知识是否感兴趣 本文是 大数据从入门到精通 超详细版 的一部分 小伙伴们如果对此感谢兴趣的话 推荐大家按照大数据学习路径开始学习哦
  • 什么是link标签?

    什么是link标签 link标签通常放置在一个网页的头部标签head标签内的用于链接外部css文件 链接收藏夹图标 favicon ico 标签最常见的用途是链接外部样式表 外部资源 link实例 链接外部css样式时候link标签的内容结
  • Android性能优化之内存优化

    前言 成为一名优秀的Android开发 需要一份完备的知识体系 在这里 让我们一起成长为自己所想的那样 内存优化可以说是性能优化中最重要的优化点之一 可以说 如果你没有掌握系统的内存优化方案 就不能说你对Android的性能优化有过多的研究
  • OpenHarmony鸿蒙 润和Pegasus套件样例--智能安防

    润和Pegasus套件样例 智能安防 该样例展示OpenHarmony智能安防项目 当温度传感器超过设定值后 或者烟雾传感器检测到烟雾时 会触发蜂鸣器工作 同时通知到HarmonyOS手机上的APP 下载源码 建议将本教程的设备源码下载后
  • 小白入门——“贪吃蛇”的C语言实现(详细)

    C语言实现 编译环境VS 附 easyx图形化 文章末尾 效果图如下 有一些函数kbhit getch 在这表示为 kbhit与 getch 不同编译器原因 注意在Dev等集成开发软件下可能会CE o o 一 引言 作为一个小白 相信大家的
  • 个人工作失误复盘

    今天 同门突然指出了我在去年10月做一项代码测试工作时犯的错误 当时 我的任务是测试某论文中新发布的图像配准算法在我们的航拍图像配准任务上的效果 以便决定是否在其上进行改进 我按照readme文件中的指引下载了预训练权重 并按照项目代码中给
  • 接口自动化测试环境搭建(unittest+requests+HTMLTestRunner)

    该自动化测试框架基于python单元测试框架unittest 使用HTMLTestRunner来生成测试报告 使用Requests xlrd 和 xlwt等库 一 安装python运行环境 安装包官方下载地址 https www pytho
  • GAN+pytorch实现MNIST生成

    背景知识 GAN 原理可以在这里查看 GAN入门简介 pytorch 一个深度学习的框架 关于环境配置有问题 可以在这里查看 从零开始机器学习 代码实现 本文实现最简单的例子 利用GAN生成MNIST的数字 代码如下 导入包 matplot
  • 麦昆PLUS V2-适合中小学STEAM教学的机器人套件

    著名开源硬件商DFRobot推出的最新版本机器人套件麦昆Plus V2来了 它非常适用于中小学STEAM机器人教学 和麦昆LITE相比 麦昆plus V2的优势有哪些 和麦昆LITE相比 具有丰富的扩展接口 充足的电力供应 宽大的机身 麦昆
  • 基于U-Net的递归残差卷积神经网络在医学图像分割中的应用

    转载 版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net weixin 45723705 article details 10709748
  • Ubuntu18.04~Ubuntu22.04安装并配置VNC

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 VNC是什么 二 系统环境 1 前提 2 打开Share开关 3 安装x11vnc 4 测试 1 使用方法 2 重要补充 总结 前言 有些操作需要Desk
  • OpenCV_车辆检测实战

    前言 总纲请看 计算机视觉学习路 1 去除背景 createBackgroundSubtractorMOG2 history 200 代表预存多少视频帧 根据这些帧里面静止的东西判断背景 可以看到树叶形成了很多噪点 所以需要在去除背景前先去
  • 使用create-react-app创建React项目

    目录 环境 开发工具 创建 简单的配置 1 安装craco插件 2 修改package json配置文件 3 重写webpack配置文件 参考 简单记录一下使用create react app创建React项目 使用craco进行了简单的配
  • 如何在 magento 2 中以编程方式清理或刷新缓存?

    如何在 magento 2 中以编程方式清理或刷新缓存 在开发的情况下 开发人员或商家的请求 需要以编程方式清除 刷新缓存 如果您在 Magento2 中以编程方式清除缓存时遇到问题 本文适合您 今天 我们将向您展示如何以编程方式清除缓存