%17 %604 %2014 %21:%十 %PM

joomla中的缓存02-缓存的分类和作用

作者
给本项目评分
(0 得票数)

本节主要是介绍一些joomla中各种有关缓存的操作。

 对于网站管理员


页面级别的缓存

  • 位置:系统自带,插件管理,系统插件 - 缓存
  • 缓存的内容:该扩展会缓存页面的所有内容,将这些内容存储在文件中,以此来加速网站
  • 基于:该扩展基于URL.每一个URL对应一个缓存文件。如果没有缓存文件就将该页面缓存,让后发送给浏览者。如果有缓存,就直接将缓存文件发送给浏览者。
  • 更多信息:
    •  可以配置是否使用浏览器本身的缓存功能来保存缓存文件。
    • 该插件只缓存访客浏览过的页面。不缓存注册用户浏览的页面。

视图级别的缓存

  • 位置:系统全局配置 缓存
  • 缓存的内容:组件的每一个视图。注意,不是页面。
  • 基于:URL,视图,参数 还有一些其他的内容
  • 更多信息:
    • 组件的开发者必须在他们的扩展中使用JCacheAPI,,才能使用该功能。(joomla核心扩展使用得比较多,但其他的第三方扩展使用的比较少)。joomla核心的文章组件就是用这个功能,他能够缓存访客看到的视图。

模块级别的缓存

  • 位置:全局配置 缓存
  • 缓存的内容:每一个模块的输出。
  • 基于:?
  • 更多信息:
    • 你应该知道,如果有一个模块显示的效果并不是你所期待的,那么有可能是这个缓存引起的。

更多缓存

  • 这个和第三方扩展系统有关。现在已经有很多这类的插件。效果还不错。

缓存引擎(存储)

  • 位置:全局配置 缓存
  • 更多信息
    • 你可以选择哪一种方式来缓存。当前可用的有APC ,Eaccelorator ,File,Memcache,XCache.

对于开发者


 Joomla提供了JCache类,来处理缓存相关的内容。使用这个类,你可以灵活的操作缓存。我们可以使用JCache类,也可以让自己的类派生自JCache,来实现更多操作。Don't forget that the first level of cache encountered, will override any deeper caching. I suppose that too many levels is also counterproductive (to be verified though).

  • JCacheView 将会缓存视图中的输出。
系统会自动依据URL或者产生一个缓存ID。specific view and its specific method, or you can give your own.
这个缓存可以自动的在控制器的display方法中完成。你只需要在你的控制器中使用如下的代码就行了
class ZMAXController extends JController {
    function display(){
      parent::display(true); //true 表示需要缓存
   }
}
  •  JCachePage 缓存并且返回页面的主体部分
  • JCacheCallback 缓存函数或者方法的输出结果
  • JCacheOutput 缓存输出

这个相对缓存指定php代码的输出,有点类似于输出缓冲处。

阅读 7797 次数 最后修改于 %17 %635 %2014 %22:%十 %PM