12.1 概念:缓存

hrs 提交于 2019/07/15 - 09:14 , 周一

什么是页面缓存?

在每个页面请求上运行站点的软件必须执行计算并从数据库检索数据,以便组成发送到Web浏览器或访问站点的其他应用程序的页面。这些计算需要时间,这可能意味着您的页面加载时间比期望的要长。

有几种方法可以加快页面加载时间,包括在服务器上安装软件。该系统包括核心内部页面缓存和动态页面缓存模块,不需要任何其他服务器软件; 他们使用数据库缓存机制来加速您的网站。这些模块的工作方式是在页面计算期间,中间结果和最终页面输出存储在一个特殊的数据库区域(称为 缓存))。然后,在下次进行兼容请求时,可以检索并使用适当的中间或最终结果,而不是重做整个计算。此外,当更新影响特定计算的内容或数据时,将从缓存中删除受影响的缓存数据,从而强制在下次需要时重新计算该部分计算。

这些缓存模块通常运行良好,并且为大多数站点提供至少一些加速。但是,有时页面缓存可能会出现问题,例如:

  • 缓存中的数据损坏,导致页面输出出现乱码或错误
  • 缓存中剩余的旧数据太长,导致页面输出过时
  • 缓存不足,导致页面加载缓慢

缓存了哪些其他数据?

无论您的站点上是否安装了两个页面缓存模块,您的站点运行的软件仍将缓存许多内部计算的输出。缓存数据的核心系统包括:

  • 主题系统在数据库缓存中缓存关于哪些模板文件用于呈现各种类型的数据的信息。如果您正在开发新主题并添加新模板文件,则需要清除此缓存以识别主题文件。
  • 可以选择优化和压缩CSS和JavaScript文件(取决于您的站点设置)。如果是这样,压缩版本将存储在文件系统中,因此不必经常重新优化它们。如果您正在开发模块或主题,则可能需要关闭或清除此文件缓存以识别对CSS或JavaScript文件的更改。
  • 系统从已安装的模块中查找某些低级PHP函数和类,例如 钩子实现插件类,并存储有关哪个模块具有哪些功能的信息。如果要开发新模块或向现有模块添加功能,则可能需要清除此缓存以识别新功能。

相关话题

如果您的网站出现问题,首先要尝试修复它,通常是清除缓存。有关更多信息请参见第12.2节“清除高速缓存”

其他资源

Drupal.org社区文档页面“缓存以提高性能”中了解其他缓存和性能优化方法 

归因

Jennifer Hodgdon撰写

标签
The website encountered an unexpected error. Please try again later.