mage2tv / magento-cache-clean
比 bin/magento cache:clean 更快的替代方案,带有文件监视器
Suggests
- dev-master
- 1.0.53
- 1.0.52
- 1.0.51
- 1.0.50
- 1.0.49
- 1.0.48
- 1.0.47
- 1.0.46
- 1.0.45
- 1.0.44
- 1.0.43
- 1.0.42
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.0.43
- 0.0.42
- 0.0.41
- 0.0.40
- 0.0.39
- 0.0.38
- 0.0.37
- 0.0.36
- 0.0.35
- 0.0.34
- 0.0.33
- 0.0.32
- 0.0.31
- 0.0.30
- 0.0.29
- 0.0.28
- 0.0.27
- 0.0.26
- 0.0.25
- 0.0.24
- 0.0.23
- 0.0.22
- 0.0.21
- 0.0.20
- 0.0.19
- 0.0.18
- 0.0.17
- 0.0.16
- 0.0.15
- 0.0.14
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-debug-build
- dev-flood-protection
- dev-win-compatibility
This package is auto-updated.
Last update: 2024-09-13 08:55:53 UTC
README
"你知道,希望是一个错误。如果你不能修复破损的东西,你将,嗯...你会发疯。" - 马克斯·洛克坦斯基
Magento 2 缓存清理
使用文件监视器的 bin/magento cache:clean
的更快替代方案。
文件监视器会自动清理 Magento 2 缓存中受影响的缓存类型。例如,如果你修改了一个模板,它只会清理 block_html
和 full_page
缓存,而不是 config
或 layout
缓存。
该项目仅在 MacOS 和 Linux 上进行了测试。请通过在 GitHub 问题跟踪器 上打开问题来报告错误。
特性
- 支持文件、Redis 和 Varnish 缓存后端
- 当源文件更改时,删除受影响的生成代码类
- 零配置,所有必要信息都从
app/etc/env.php
读取 - 当监视器运行时,可以通过热键快速刷新缓存
安装和更新
安装
composer require --dev mage2tv/magento-cache-clean
更新
composer update --dev mage2tv/magento-cache-clean
通常使用 composer global require ...
全局安装此工具。
用法
在你的 Magento 目录中,运行 vendor/bin/cache-clean.js --watch
按 Ctrl-C
退出监视器进程。
脚本也可以作为 bin/magento cache:clean
的更快替代方案。例如
vendor/bin/cache-clean.js config full_page
(它更快,因为 bin/magento
的启动时间非常慢。)
有几个选项可以自定义行为
vendor/bin/cache-clean.js --help
Sponsored by https://www.mage2.tv
Usage: cache-clean.js [options and flags] [cache-types...]
Clean the given cache types. If none are given, clean all cache types.
--directory|-d <dir> Magento base directory
--watch|-w Watch for file changes
--verbose|-v Display more information
--no-flood-guard|-n Disable the 5s debounce per cache type
--debug|-vv Display too much information
--silent|-s Display less information
--version Display the version
--help|-h This help message
通常我在开始开发时使用 --watch
选项运行一次命令,当发生无法自动检测到的更改时,我使用 vendor/bin/cache-clean.js
作为 bin/magento cache:clean
的替代方案。
热键
当监视器运行时,可以通过单个按键来清理缓存的一部分
还有热键可以清理 Adminhtml 或前端区域的静态资源,或者清理集成测试沙箱或生成代码目录。
先决条件
node.js
(基于 10 版本,但也应适用于较旧的 8.x 版本)。- 打开所有 Magento 缓存(使用
bin/magento cache:enable
)可能是好主意,以获得最大好处。
已知问题
-
目前,在添加新主题后必须重新启动监视器,因此将其添加到监视列表中。
-
NFS 挂载点上的文件更改(例如在 vagrant 中)不会触发监视。根据特定的设置,可能在主机系统上运行监视器。
-
如果在 PHPStorm 中运行任务并且热键不起作用,请按
STRG+SHIFT+A
搜索操作,然后搜索 "registry...",然后启用nodejs.console.use.terminal
并重新启动监视器进程。 -
在 Windows 上测试得不多,如果您想贡献,请打开一个问题。
-
如果在 Linux 上遇到
Error NOSPC
或ENOSPC: System limit for number of file watchers reached
错误,请运行以下命令
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
- 在 Magento 2.1.0 - 2.3.3 版本中存在一个错误,导致完整的页面缓存记录被写入到
var/cache
目录而不是var/page_cache
目录。这个问题导致缓存清理行为变得不稳定。有一个简单的解决方案,即从默认的app/etc/env.php
文件中删除所有缓存配置。该错误仅影响默认配置的文件系统缓存后端。Redis 或 Varnish 不受影响。该错误将在即将发布的 (目前为 Magento 2.3.4) 版本中修复。
更多信息
-
关于使用 Docker & VMs 的监视器的一些说明。
-
原因 解释了我编写这个工具的原因。
-
如何从源码构建 工具。
-
将监视器集成到 PHPStorm
- [Mage2 TV] 如何将监视器设置为 PHPStorm 启动任务。
- [Mage2 TV] 如何在 PHPStorm 中启用热键。
感谢
这个脚本受到Timon de Groot 的 博客文章 的启发,他在文章中描述了在 PHPStorm 中使用文件监视器调用 redis-cli
来清除完整的缓存,每当修改 XML 文件时。这个解决方案的唯一缺点是它总是清除完整的缓存,并且只适用于 Redis。
还要感谢所有提供反馈、分享想法和帮助测试新功能的每个人!没有你们,这个工具是无法实现的!
版权 & 许可
版权所有 2019 - 2023 由 Vinai Kopp,根据 BSD-3-Clause 许可证分发(见 LICENSE 文件)。