可以有人用新手易懂的语言解释一下清除缓存后如何进行缓存预热的含义吗?
Symfony2 中提供了一个清除缓存的命令:
php app/console cache:clear
有时在安装一些软件包时,安装程序尝试清除缓存,但失败后,会抛出以下警告:
无法使用
--warmup
清除缓存。
为什么要在软件包安装后热身缓存?您的通常解释非常宝贵。
缓存热身是为您的应用程序生成新的缓存。因此,当用户请求打开应用程序的页面时,它可以从已生成的缓存中读取数据并返回。
缓存清理字面意思是清除旧的缓存。如果进行了缓存清理而没有进行热身,当新的请求到来时,应用程序将执行检索数据和生成新缓存所需的所有工作,然后返回结果。如果在此之前已经热身了缓存,那么它将直接返回,因此响应速度会更快。
安装新的bundle时,您需要安装一个新的bundle以在您的应用程序中使用它。因此,您需要对源代码进行更改,例如将该bundle注册为服务,从控制器调用该服务等。但是,先前生成的缓存不知道这些更改。因此,应该清理缓存并再次生成(热身)以考虑这些更改。我想这不是一个深入的答案,但尝试用简单的方式解释。
kernel.cache_warmer
事件上以执行此任务“静态地”。