缓存
在 Yii 中使用缓存主要包括配置并访问一个应用组件。下面的应用配置设定了一个使用两个 memcache 缓存服务器的缓存组件。
当应用运行时,缓存组件可通过 访问。
Yii 提供了不同的缓存组件,可以将缓存数据存储到不同的媒介中。例如, CMemCache 组件封装了 PHP 的 memcache 扩展并使用内存作为缓存存储媒介。 组件封装了 PHP APC 扩展; 而 CDbCache 组件会将缓存的数据存入数据库。下面是一个可用缓存组件的列表:
: 使用 PHP memcache 扩展.
: 使用 PHP EAccelerator 扩展.
: 使用一个数据表存储缓存数据。默认情况下,它将创建并使用在 runtime 目录下的一个 SQLite3 数据库。你也可以通过设置其 connectionID 属性指定一个给它使用的数据库。
: 目前 dummy 缓存并不实现缓存功能。此组件的目的是用于简化那些需要检查缓存可用性的代码。例如,在开发阶段或者服务器尚未支持实际的缓存功能,我们可以使用此缓存组件。当启用了实际的缓存支持后,我们可以切换到使用相应的缓存组件。在这两种情况中,我们可以使用同样的代码 Yii::app()->cache->get($key) 获取数据片段而不需要担心Yii::app()->cache 可能会是 null。此组件从 1.0.5 版开始支持。
缓存可以用于不同的级别。最低级别中,我们使用缓存存储单个数据片段,例如变量,我们将此称为 数据缓存(data caching)。下一个级别中,我们在缓存中存储一个由视图脚本的一部分生成的页面片段。而在最高级别中,我们将整个页面存储在缓存中并在需要时取回。
在接下来的几个小节中,我们会详细讲解如何在这些级别中使用缓存。