Drupal专业开发指南 第15章 最小缓存有效期

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

 

这个设置用来控制你站点上的缓存内容的有效期。当一个用户提交了新的内容时,他/她将能立即看到变化;然而,其他用户只有在过了最小的缓存有效期以后,才能看到新的内容。当然,如果将最小缓存有效期设置为“无”,那么每个人都能立即看到新的内容。

老葛的Drupal培训班 Think in Drupal

Drupal版本:

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版本:

页面

Subscribe to Think in Drupal RSS