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

Drupal专业开发指南 第14章 总结

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-08-21 16:02

老葛的Drupal培训班 Think in Drupal

读完本章后,你应该能够
• 理解什么是分类
• 理解术语,词汇表,以及它们不同的选项
• 单层的,分层级的,和多层级的词汇表之间的区别
• 构建带有AND 和 OR 操作的URL,来对分类术语进行搜索
• 为分类术语和术语联合体的RSS种子构建URL
• 理解分类是如何存储的
• 知道如何在你自己的模块中使用词汇表
• 创建你的模块来接收分类变更的通知

Drupal版本:

页面

Subscribe to Think in Drupal RSS