主页 > Drupal > Drupal静态页面缓存利器-Boost模块与Ajaxblocks模块

Drupal静态页面缓存利器-Boost模块与Ajaxblocks模块

PDF版本

我们知道,drupal的Boost模块是drupal静态页面缓存的必备模块,关于Drupal整体优化,请参考前文《让猪去飞-漫谈Drupal性能优化经验贴》。

Boost模块只提供匿名用户的静态页面缓存,但多数情况下,我们站点的登录用户访问量也很大,我们需要让登录用户也使用静态页面缓存。这里有一个前提,就是登录用户看到的页面和匿名用户看到的页面比较相似,除了一两个DIV里面会显示登录信息之外。

如下结构:
________________
#login/user-panel#
________________
#page-static-body#
#page-static-body#
#page-static-body#
________________

这样,可以把上面的用户信息区作为一个ajax请求,当页面加载之后,然后通过js/ajax获取动态的登录信息。因此就实现了对匿名用户和登录用户同时使用静态页面缓存的效果。具体的操作请参考前文《Drupal性能优化之-将Boost模块用到极致》。

该文中的方法虽可行,但是由于要使用ajax以及要自定义menu_callback,对于一些快速开发和Drupal Way的开发方式可能并不实用。一般情况下,这种用户信息都是Drupal的Block,所以如果我们能把某些block自动转换为ajax方式的加载,那么会在开发速度和Drupal规范方面带来很好的体验。

幸运的是,Drupal已经有了这样一个模块,ajaxblocks,该模块可以把一个普通的Drupal block转换成ajax加载方式,使用方式也很简单,就是在Drupal的block设置页面,可以启用block的ajax加载方式,并且有很多其他选项,比如loading的图标,缓存方式等等。
对于一般的前台页面,用Boost模块搭配ajaxblocks模块使用,完全可以让匿名用户和登录用户都能使用Boost的静态缓存,可以大大提高Drupal的性能。

ajaxblocks的使用截图可以参考下图:

但是需要注意的是,要让登录用户也使用静态缓存页面,需要修改Boost提供的相应的Rewrite Rule。

因为默认情况下,Rewrite Rule会忽略登录用户。如何修改Rewrite Rule,请参考下面的链接。
参考链接:
Drupal性能优化之-将Boost模块用到极致
Ajax Blocks 模块


声明: 本站所有文章欢迎转载,所有文章未说明,均属于原创,转载均请注明出处。
本文有效链接: http://www.drupal001.com/2012/01/drupal-boost-ajaxblocks/
版权所有: Drupal与高性能网站架构 http://www.drupal001.com


, , ,

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注


1 + = 十

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

引用:0

下面所列的是引用到本博客的链接
Drupal静态页面缓存利器-Boost模块与Ajaxblocks模块 来自 Drupal与高性能网站架构
顶部