缓存与会话 · 第 10 题,共 12 题
一个详情视图显示记录 tx_myext_item:5。如果导入修改了这条记录,恰好这些页面的页面缓存应失效。控制器如何为页面打标签?
有 1 个正确答案。 中等
显示答案
答案
- A $request->getAttribute('frontend.cache.collector')->addCacheTags(new CacheTag('tx_myext_item_5'))
解析
在前台,请求属性 frontend.cache.collector 中的 CacheDataCollector 会收集页面存储时所带的全部标签。之后导入程序通过 CacheManager 精确清除带有该标签的页面。clearPageCache() 会立即清除特定页面 uid 的缓存,但不会打任何标签。$GLOBALS['TSFE'] 在 TYPO3 v14 中已不存在。