在TYPO3后端,我可以清除不同类型的缓存:前端缓存,常规缓存,系统缓存......此外,还有一些选项可以清除安装工具中的缓存.
在许多情况下,特别是当我开发扩展时,我需要清除缓存以反映我所做的更改.但是,我从来不知道需要清除哪些缓存,而且大多数时候,我清除每个缓存,直到我在重新加载页面时看到正确的输出.在其他情况下,例如,当我升级TYPO3时,我需要从安装工具中清除缓存,否则它会在旧的安装路径中查找php文件.
可以清除哪种不同的缓存?他们每个人之间有什么区别?每个命令清除哪些文件或数据库项?在哪种情况下,每个clear caches命令都是必要的(即修改哪种文件或信息时)?
在TYPO3 6.2和7中:
您可以在该SYS.caching.cacheConfiguration部分的后端系统>配置中查看所有缓存的配置.每个缓存都在一个或多个"组"中注册:all,system,pages.菜单项反映了这些组:
cacheCmd=pages):清除前端和页面相关的缓存.这使得TYPO3重新渲染通常被缓存的内容(除了USER_INT对象之外的所有内容)cacheCmd=all):包括前端,以及扩展注册的一些缓存clearAllCache_additionalTables(即新闻缓存,realurl缓存).尽管是all它并没有包括系统缓存(这就是为什么它被称为"普通缓存",而不是菜单中的"所有缓存").cacheCmd=system):清除"系统相关的缓存",包括类加载器,本地化和扩展配置文件缓存.因此,最好是让自己了解代码的哪些部分存储在哪个缓存中,以便您在更改内容时了解要刷新的内容:
ext_tables.php,ext_localconf.php,TCA缓存在cache_core => 冲洗系统缓存.config.no_cache = 1.请注意,由于TYPO3 8.1后端菜单和整个系统已经简化,所以我们只剩下:
为了便于开发而不关心其中一些缓存,您可能希望将它们单独"关闭".
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages']['backend'] = NullBackend::class;
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pagesection']['backend'] = NullBackend::class;
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_hash']['backend'] = NullBackend::class;
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['extbase_object']['backend'] = NullBackend::class;
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['extbase_reflection']['backend'] = NullBackend::class;
Run Code Online (Sandbox Code Playgroud)
请参阅:https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/CachingFramework/Configuration/Index.html?highlight=cache#how-to-disable-specific-caches