You are here

drupal缓存(cache)

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2008-10-29 05:55

这个是入门的第一篇,但是不是本书的第一页,本书的写作计划是,各自为政,写到一定的数量以后整理成册.当然,是在一定的范围内完成的.

计算机领域,最大的一次技术改进,就是发明了缓存,不管是操作系统,浏览器,各种编程语言,都提供了对缓存的支持.drupal也不例外,缓存在drupal中相当常见,可以说,drupal把缓存发挥到了极致.

很多人提到drupal,常常会质疑它的性能问题,特别是当知道drupal把所有的数据都存在到了数据库中时,这种质疑常常让一些原本打算使用drupal的用户,在drupal面前望而却步.在Drupal中,一个正常的页面的生成,如果把所有的步骤都走完的话,可能需要执行上百条数据库查询,(具体是数据根据实际情况而定),但是如果使用了缓存的话,仅需要一条查询或者几条查询就可以完成.这样就可以极大的提高drupal的性能了.Drupal内置的缓存机制,使得drupal能够应用到高负荷,高流量的网站,实际上,国外的许多大型的网站都是跑在drupal之上,具体的网站可以到创始人的个人网站上找.

对于我们的个人站点,我们看看怎样才能通过使用drupal的缓存机制,来优化我们的小站.我拿我自己的网站zhupou.cn作为例子吧,先看看网站上的设置。配置缓存的地方位于Site configuration(站点配置)下面的Performance(性能),如图所示,

在这里可以为匿名用户启用或者禁用页面缓存,另外就是设置CSS和JS,以优化带宽。Drupal的页面缓存,仅用于匿名用户,对登录用户不起作用,我见很多人想对登录用户也使用缓存,据说别的CMS可以实现这一点,我不知道drupal有没有现成的解决方案,来实现这一点,不过对于大多数网站,匿名用户应该可以占到总用户的80%,也就是大多数,所以我觉得仅对匿名用户,就抓住了问题的关键点了。

下面看看zhupou.cn的配置,让我们进入性能的管理界面admin/settings/performance。先看看页面缓存的设置。如图所示。

在这里,缓存模式,我用的是普通模式,最小缓存生命周期,我选的是6小时,同时启用了页面压缩。这里的配置仅仅作为参考。

下面是我的区块缓存配置在这里面启用了区块缓存,如图所示。

下面带宽优化配置,在这里JS,CSS文件的优化都被禁用。

为什么我这里,禁用了CSS和JS优化呢?其实我也不想禁用它,但是由于网站放在虚拟主机上,启用这两个选项,需要对files目录,以及压缩后的文件都具有“写”权限,而我不会在linux下面设置权限,具体一点说,我不知道在我的虚拟主机上如何设置这一权限。所以只好禁用。一会我给大家看看我本地机子上,启用这两项优化后的效果。

在这个页面的最后,是清空缓存数据的按钮,这个在网站的开发过程中非常有用。有时候,你会发现自己的站点越来越慢,那么到这里看看,点点这个清空缓存数据按钮,可能就会带给你不小的惊喜。

 

         Drupal6在缓存的设置方面,对drupal5作了不小的改进,比如在这个页面,在5.x,就没有清空缓存数据(clear cached data)这一按钮,也没有区块缓存的配置选项,另外,在页面缓存的配置中,也没有页面压缩(Page compression)这一选项。

       相关链接: Think in Drupal

Drupal版本: