dmk / mkcache_queue
通过队列而不是直接清除TYPO3缓存
v12.0.3
2023-09-19 07:16 UTC
Requires
- php: ^7.4 || ^8.0 || ^8.1 || ^8.2
- typo3/cms-core: ^11.5.7 || ^12.4
Requires (Dev)
- captainhook/captainhook: ^5.14
- friendsofphp/php-cs-fixer: ^3.3
- mikey179/vfsstream: ^1.6
- php-parallel-lint/php-parallel-lint: ^1.3
- phpcompatibility/php-compatibility: ^10@dev
- phpmd/phpmd: ^2.13
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.9
- saschaegerer/phpstan-typo3: ^1.8
- sebastian/phpcpd: ^6.0
- typo3/testing-framework: ^6.16 || ^7.0 || ^8.0
This package is auto-updated.
Last update: 2024-09-19 09:42:52 UTC
README
"MK Cache Queue" 为清除TYPO3缓存提供队列。因此,不是直接清除缓存,而是通过调度器作业(命令 cache:process-queue)异步进行。这将减少编辑大量工作时缓存清除的频率。缓存将被清除的频率仅取决于调度器作业的频率。
默认情况下,仍然可以直接清除缓存。这可以通过CLI命令 cache:flush、BE(顶部栏)中的清除所有缓存按钮以及清除页面缓存的不同按钮(页面视图、页面树中的上下文菜单)来实现。所以,基本上所有由用户直接触发清除的缓存清除操作仍将清除缓存。例如,保存内容元素等操作将在后台清除缓存,并将这些清除操作放入队列。您可以通过扩展配置 disableDirectCacheClearCompletely 关闭此行为并完全禁止直接清除缓存。
此外,您可以通过扩展配置 cachesToClearThroughQueue 配置支持的缓存。或者,您可以使用API函数 DMK\MkcacheQueue\Utility\Registry::registerCacheToClearThroughQueue() 在您自己的扩展或 AdditionalConfiguration.php 中添加通过队列清除的缓存。
安装
- 需要/安装扩展
composer require dmk/mkcache_queue:^12.0
- 创建一个执行控制台命令的调度器任务,并选择 cache:process-queue 命令。
- 确保TYPO3的调度器任务执行cronjob就绪
- 在扩展配置或通过API函数中将您的缓存添加到队列中清除
- 默认要清除的队列缓存:核心、extbase、hash、imagesizes、l10n、dashboard_rss、fluid_template、assets、pages、pagesection、rootline
- 决定是否通过扩展配置 disableDirectCacheClearCompletely 完全关闭直接缓存清除(默认:false)