如何在 TYPO3 中进行缓存预热
How to do cache warmup in TYPO3
In another question,建议通过 TypoScript 设置 cache_clearAtMidnight
并进行后续缓存预热。
我想知道如何进行缓存预热,因为我没有找到执行此操作的调度程序任务。
(每天清除一次整个缓存似乎过分了,但无论如何缓存预热对我来说似乎是个好主意。)
由于我不知道 TYPO3 中是否有缓存预热的内部机制,我基于一个简单的 PHP 脚本(实际上可以是任何东西 – Python, PHP, Bash,...)。脚本 读取 sitemap.xml 并通过 cURL 请求每个页面。
我使用自定义用户代理从统计信息中排除这些请求。
curl_setopt($ch, CURLOPT_USERAGENT, 'cache warming - TYPO3');
你可以使用这个分机。它是简单的 wget 包装器,但您可以将其添加为调度程序任务。
有可用于缓存预热的扩展:
另请参阅 Benni Mack 关于缓存的这篇相对较新的博客 post(第 1 部分):
一般来说,还有很多事情需要考虑,例如更改缓存持续时间、优化页面以更快地加载而不被缓存等。
顺便说一句,cache_clearAtMidnight
会在午夜清除缓存,它将过期时间设置为午夜。一旦缓存过期,它将被重新生成。具有相同的效果,但可能很高兴知道。
In another question,建议通过 TypoScript 设置 cache_clearAtMidnight
并进行后续缓存预热。
我想知道如何进行缓存预热,因为我没有找到执行此操作的调度程序任务。
(每天清除一次整个缓存似乎过分了,但无论如何缓存预热对我来说似乎是个好主意。)
由于我不知道 TYPO3 中是否有缓存预热的内部机制,我基于一个简单的 PHP 脚本(实际上可以是任何东西 – Python, PHP, Bash,...)。脚本 读取 sitemap.xml 并通过 cURL 请求每个页面。
我使用自定义用户代理从统计信息中排除这些请求。
curl_setopt($ch, CURLOPT_USERAGENT, 'cache warming - TYPO3');
你可以使用这个分机。它是简单的 wget 包装器,但您可以将其添加为调度程序任务。
有可用于缓存预热的扩展:
另请参阅 Benni Mack 关于缓存的这篇相对较新的博客 post(第 1 部分):
一般来说,还有很多事情需要考虑,例如更改缓存持续时间、优化页面以更快地加载而不被缓存等。
顺便说一句,cache_clearAtMidnight
会在午夜清除缓存,它将过期时间设置为午夜。一旦缓存过期,它将被重新生成。具有相同的效果,但可能很高兴知道。