B2evolution/缓存和缓存级别
B2evolution有多种缓存级别,一些在默认情况下就是激活的,一些则需要手动启用或者是配置,为了获得更好的性能。
低级缓存[ ]
PHP操作码缓存[ ]
PHP是一个脚本语言,默认情况下,每一次.php文件被访问,脚本都会被重新分析和编译到一个可以执行的代码格式,也称作操作码。这一过程在每一个页面加载时都会进行,在效率方面来说并不是很高。
操作码缓存是一个PHP扩展,它将会缓存共享内存里的PHP脚本的操作码版本,这样后来每一次访问同样的PHP文件,就不需要重新分析和编译了。
如果你有一个虚拟专用主机或者一个独立的服务器,你可以确保你的PHP配置中包含有一个操作码缓存。
我们推荐使用APC(操作码缓存扩展),因为它将会在未来整合到PHP 6中。
MySQL缓存[ ]
每一个SELECT查询都会被发送到MySQL数据库中,MySQL可以在内存中缓存这一结果。如果随后有完全相同的查询操作,并且数据没有更改过,那么检索到的数据将直接从存储器的缓存中获得,而不需要更复杂的一些操作。
在一个典型的MySQL安装中,这种查询缓存在默认情况下是启用的,而且不需要一些专门的配置。
B2evolution数据对象缓存[ ]
在每一个页面请求中,B2evolution都从数据库中加载对象。这些对象可以是 User(用户详细信息)、Blog(博客参数)、File(文件具体信息)等。
B2evolution利用这些对象,比如$UserCache, $BlogCache, $FileCache等来缓存当前请求中获得的对象。
通过这一系统,B2evolution只需要为已知用户加载一次,尽管这同一个用户在同一个页面中发布了五个评论,用户名需要在同一个页面中显示5次。
曾经有一个高级配置来将DataObjectCache对象切换到禁用状态,但是现在并没有理由要这样做。
对象缓存预处理[ ]
缩略图缓存[ ]
B2evolution可以将自动将图片重置成不同的大小。图像处理是一个复杂的过程,在初始图像发生更改之前都不需要重复的。
因此,B2evolution将会在Media文件夹下的每一个子目录中创建一个文件夹叫.evocache,用来存储需要被重置大小的图片。每一个.evocache文件夹可以包含一些不同的缩略图大小。
注意:缩略图是一个通用术语,它们实际上可以是任何大小,包括很大的例如800*600像素。
注意:因为它们是以一个小数点开头的,.evocache文件夹都是隐藏的文件夹,所以访问Media文件夹各层次时并不会产生冲突。
当一个文件通过B2evolution的文件管理器删除时,其相应缓存的缩略图也会同时被删除。
预生成条目缓存[ ]
当你在B2evolution编辑一篇文章(或者称为一个条目),然后确认你的编辑,你可能需要使用一些渲染插件。如果你有一些复杂的渲染插件,那么这一操作过程将需要花费一些时间。因此,B2evolution会缓存每一个条目的渲染结果,直到再一次修改。
当一个博客被访问时,这篇文章的内容将直接从缓存中获得显示,而不需要重新渲染每一篇文章。
高级缓存[ ]
Widget区块缓存[ ]
Widget是博客中使用的一些工具。
Widgets的输出是可以进行缓存的(B2evolution v4+);
但是需要安装有APC缓存,并且需要在后台的一半设置中启用。
页面缓存[ ]
B2evolution (v3+)可以缓存全部的网页到10分钟,如此,10分钟以内页面只需要被加载一次。
注意:虽然加载次数少了,但是点击数是仍然登记的。
注意:页面缓存只是针对于匿名用户的,这样可以确保不会有私人信息存储在缓存中而后发送给另一个用户。所以,这也就是意味着在你登录到站点时并不能直接从页面缓存中获利,你只是从降低服务器的负载这方面获利。
被缓存的页面保存在博客根目录下的一个叫/cache文件夹中。
另外,这一功能需要在每一个博客的基本设置中启用(Blog Settings),还有可以在后台的Global Settings中设置全局的缓存来缓存所有页面。
浏览器缓存[ ]
这个大家应该都很熟悉,就不说了。
参考来源[ ]
B2evolution使用手册导航 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|