Joomla 有多种缓存“内容”的方式。我们将以两个角色来介绍和使用缓存,在这篇将以普通管理员的视角来概述——缓存什么、在哪里缓存以及何时缓存。
什么是Joomla 缓存cacha
作为管理员,Joomla 为您提供了缓存网站内容的能力。您可以选择缓存整个网页或仅缓存这些页面的部分内容。在 Joomla 网站页面上,有3种内容可能被缓存:
- 页面缓存 – 缓存整个页面缓存
- 模块缓存 (Module cache) - 仅仅缓存页面上显示的模块的输出。可以指定仅仅缓存某一个模块的缓存。如果不清楚什么是模块可以访问Joomla的模板机制 了解详情
- 视图缓存 (View cache) - 仅仅缓存网页上组件的输出。如果不清楚什么是组件输出可以访问Joomla的模板机制 了解详情
作为管理员,你可以依据自己的需要在后台设置启用对应的缓存。
- 页面缓存可以缓存整个页面,这个功能是通过插件来实现的。默认情况下这个插件是禁用的。如果你需要启用,你可以前往插件管理=>系统插件=>缓存(cache)设置启用即可。
- 模块缓存可以缓存模块的输出。这个功能是内置的功能,默认缓存时关闭的。如果你需要启用,需要执行下面的操作
- 登陆后,在全局设置 (Global Configuration) 中的 系统 (System) 选项卡下的 缓存设置 (Cache Settings)。这里的 系统缓存 (System Cache) 选项可以设置为:
OFF – Caching disabled
(关闭 – 禁用缓存)ON – Conservative caching
(开启 – 保守缓存)ON – Progressive caching
(开启 – 渐进缓存)
- 许多模块在其选项的 高级 (Advanced) 选项卡中可以将 缓存 (Caching) 设置为 使用全局设置 (Use global) 或 不缓存 (No caching)
-
-
- 登陆后,在全局设置 (Global Configuration) 中的 系统 (System) 选项卡下的 缓存设置 (Cache Settings)。这里的 系统缓存 (System Cache) 选项可以设置为:
请注意:在全局设置页面设置的缓存对所有的模块都有效,在模块编辑页面设置的缓存只对模块自己有效。且优先级高于全局设置的优先级。另外,当开启了页面缓存后,默认情况下模块缓存将自动失效。
视图缓存是一类特殊的缓存,这个是给开发者使用,普通的管理员无法设置这个缓存。在后面我们在来讨论这一部分。
缓存的管理
您可以通过 管理员后台 (Administrator) → 系统 (System) → 清除缓存 (Clear Cache) 菜单选项来清除缓存。
缓存的强度
通常,您可以将 Joomla 的缓存视为 3 个级别,逐级增强:
- 保守缓存 (Conservative caching)
- 渐进缓存 (Progressive caching)
- 页面缓存 (Page caching)
页面缓存 (Page Caching)
页面缓存是最激进的缓存形式。它会缓存整个页面输出,包括所有组件和模块的输出。这可以显著减少服务器负载并加快页面加载速度,尤其是在高流量网站上。要启用页面缓存:
- 转到 管理员后台 (Administrator) → 扩展 (Extensions) → 插件 (Plugins)。
- 找到 System – Page Cache (系统 - 页面缓存) 插件并启用它。
这意味着现在网站页面将被缓存,当再次请求这些页面时,将提供缓存的页面,而不是由 Joomla 根据数据库中的信息重新生成。缓存的页面将继续提供服务,直到其过期——由 管理员后台 (Administrator) → 全局设置 (Global Configuration) → 系统 (System) 选项卡 → 缓存设置 (Cache Settings) 中的 缓存时间 (Cache Time) 参数定义。
如果您的网站具有购物篮之类的功能,应用页面缓存会导致问题,因为页面必须显示客户已选择的内容,而不是显示对所有人都相同的缓存页面。但是,您可以配置 System - Page Cache (系统 - 页面缓存) 插件以排除缓存指定的 菜单项 (Menu Items) 或指定的 URL 和 URL 范围 (URLs and URL ranges)(在 高级 (Advanced) 选项卡中),以便仅缓存真正静态的页面。
保守缓存 (Conservative Caching)
使用保守缓存,您可以缓存组件的视图输出以及允许缓存的模块的输出。但请注意,这仅适用于未使用页面缓存缓存的页面。对于那些页面,整个网页已被缓存,因此甚至不会考虑保守缓存。要开启保守缓存:
- 转到 管理员后台 (Administrator) → 系统 (System) → 全局设置 (Global Configuration) → 系统 (System) 选项卡,在 缓存设置 (Cache Settings) 中,将 系统缓存 (System Cache) 设置为
ON – Conservative caching
(开启 – 保守缓存)。 - 转到 管理员后台 (Administrator) → 扩展 (Extensions) → 模块 (Modules),选择您希望被缓存的模块。
- 如果该模块允许缓存,那么在 高级 (Advanced) 选项卡下,您应该能够将 缓存 (Caching) 设置为:
Use Global
(使用全局设置) – 该模块将被缓存(因为全局选项现在已设置为保守缓存)No caching
(不缓存) – 该模块将不被缓存。
- (注意:全局设置中的 缓存时间 (Cache Time) 是以分钟为单位,而模块设置中的缓存时间是以秒为单位。)
- 如果该模块允许缓存,那么在 高级 (Advanced) 选项卡下,您应该能够将 缓存 (Caching) 设置为:
渐进缓存 (Progressive Caching)
与保守缓存一样,渐进缓存也会缓存组件视图和模块的输出。两者在功能上的区别在于,对于未登陆用户,渐进缓存总是会缓存所有模块。在这种情况下,为模块设置“不缓存 (No Caching)”选项无效。如果缓存存储选项是 File
(文件),您可以在 cache/com_modules
目录中找到模块缓存文件(所有模块的输出都存储在同一文件中)。要开启渐进缓存:
- 转到 管理员后台 (Administrator) → 系统 (System) → 全局设置 (Global Configuration) → 系统 (System) 选项卡。
- 在 缓存设置 (Cache Settings) 中,将 系统缓存 (System Cache) 设置为
ON – Progressive caching
(开启 – 渐进缓存)。
评论 (0)