You are here

drupal6

内容包括drupal6教程,drupal6汉化,drupal6主题,drupal6模板,drupal6中文手册,drupal6 views,drupa6中文,drupal6安装,drupal6开发,drupal6视频,等

Drupal专业开发指南 第15章 管理变量和模块设置

g089h515r806 的头像
Submitted by g089h515r806 on 星期六, 2009-08-22 14:55

Drupal将大多数的管理设置存储在variables表中,并将该表的所有数据缓存到cache表中,以加快查找配置数据的速度。这类变量的例子,包括你站点的名称、评论和用户的设置、以及files目录的位置。所有的这些变量都被缓存到cache表的一行记录当中了,这样在需要每个变量时,就可以快速的将其取回,而不是每次都进行一次数据库查询。它们被存储为一个PHP数组,所以缓存值将被序列化从而保留它的结构。如果一个变量使用variable_set()和variable_get()作为设置器(setter)和读取器(getter)函数,那么将以这种方式来存储和缓存它。

 

老葛的Drupal培训班 Think in Drupal

Drupal版本:

Drupal专业开发指南 第15章 菜单系统

g089h515r806 的头像
Submitted by g089h515r806 on 星期六, 2009-08-22 14:52

 

菜单系统缓存了连接Drupal路径与回调的路由信息。无论是否启用了Drupal的页面缓存,由菜单模块创建的菜单都会被缓存。所以为了清除菜单缓存,可以使用“管理➤站点配置 ➤性能”页面的“清除缓存数据”按钮,或者调用menu_cache_clear_all()。如果你对菜单的修改影响到了区块,你可能需要调用更厉害的menu_rebuild()函数;当菜单被重新构建时,菜单缓存也会被清除。菜单的例子有,Drupal的一级和二级链接,以及用户导航区块。菜单基于单用户、单地域进行缓存。关于菜单系统的更多信息,可参看第4章。

老葛的Drupal培训班 Think in Drupal

Drupal版本:

Drupal专业开发指南 第15章 缓存在Drupal核心中的应用

g089h515r806 的头像
Submitted by g089h515r806 on 星期六, 2009-08-22 14:51

 

Drupal默认自带了6个缓存表:cache存储了variables表和数据库模式和主题注册表的一个拷贝;cache_block存储了区块的缓存拷贝;cache_menu存储了导航菜单的缓存拷贝;每个节点的内容在被过滤器系统解析后,其缓存拷贝将被存储在cache_filter表中;cache_form用在表单API中,在可能的情况下,用于避免表单的重新构建;cache_page为匿名用户存储了页面的缓存拷贝。我们在接下来的部分中,将会逐一的讲解这些缓存。需要注意的是,在管理界面“管理➤站点配置 ➤性能”中的“页面缓存”和“区块缓存”设置,它们仅仅影响页面缓存和区块缓存表,对于Drupal中的其它缓存部分不起作用。换句话说,过滤器,菜单,和模块设置总是被缓存的。

老葛的Drupal培训班 Think in Drupal

Drupal版本:

Drupal专业开发指南 第15章 缓存是如何工作的

g089h515r806 的头像
Submitted by g089h515r806 on 星期六, 2009-08-22 14:50

     模块常常需要进行昂贵的数据查询或者调用远程web服务。对于这些耗费资源的操作,不需要每次都重复进行一次,模块可以将它们的数据缓存到Drupal中为缓存保留的数据库表中,或者模块也可以创建一个新的数据库表,并将缓存数据存储在那里。当下次用到这些数据时,通过一个简单的查询就可以快速的将其取回。你将在本章的后面看到,Drupal的缓存后端是可插拔的,所以尽管这里所指的是数据库表,实际的后端也可以采用其它的存储,比如直接使用文件或者一个基于内存的缓存。

Drupal版本:

Drupal专业开发指南 第15章 什么时候使用缓存

g089h515r806 的头像
Submitted by g089h515r806 on 星期六, 2009-08-22 14:49

老葛的Drupal培训班 Think in Drupal

有一点需要记住,那就是使用缓存时要进行权衡。对大量的数据进行缓存,可对性能有很大提升,这是不假,但这是有前提的,前提就是被缓存的数据在接下来能被重复使用。这就是为什么Drupal内置的页面缓存仅用于匿名用户----注册用户通常需要的是页面的定制版本,这样缓存的效果就不太明显。对小量的数据进行缓存(比如今天的流行文章列表),尽管对你网站性能的提升不是很大,但是也会有所改善。
     另外要讲的是,对不经常变动的数据使用缓存效果会更好。比如,对于每周热门故事列表,就比较适用。如果对于一个繁忙的论坛,缓存最新的5条评论,那么效果就不太明显,因为被缓存的数据很快就会过期,还没有多少用户使用到它呢,它就需要更新了。在最坏的情况下,一个坏的缓存策略(比如,对变动过于频繁的数据进行缓存)可能会增加网站的负担,而不是提升性能。
 

Drupal版本:

页面

Subscribe to RSS - drupal6