包 | system.caching |
---|---|
继承 | class CZendDataCache » CCache » CApplicationComponent » CComponent |
实现 | ArrayAccess, ICache, IApplicationComponent |
版本 | $Id: CZendDataCache.php 3515 2011-12-28 12:29:24Z mdomba $ |
源码 |
CZendDataCache基于ZendServer
提供的Zend Data Cache实现一个缓存应用模块。
PHP扩展Zend Data Cache必须加载以使用这个应用程序组件。
See CCache manual for common cache operations that are supported by CZendDataCache.
PHP扩展Zend Data Cache必须加载以使用这个应用程序组件。
See CCache manual for common cache operations that are supported by CZendDataCache.
公共属性
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
behaviors | array | 这个应用组件附加的行为。 这此行为将在应用组件调用init时附加在应用组件上。 请参照CModel::behaviors如何指定此属性值。 | CApplicationComponent |
isInitialized | boolean | 检查应用组件是否已经初始化。 | CApplicationComponent |
keyPrefix | string | 加在每个缓存键名前的字符串以保证键名是唯一的。默认值是application ID。 | CCache |
公共方法
受保护方法
方法 | 描述 | 定义在 |
---|---|---|
addValue() | 仅仅在甄别缓存值的键名不存在的情况下,往缓存中存储值。 | CZendDataCache |
deleteValue() | 从缓存中删除指定键名对应的值 | CZendDataCache |
flushValues() | 删除所有缓存值。 | CZendDataCache |
generateUniqueKey() | CCache | |
getValue() | 从缓存中检索一个匹配指定键名的值。 | CZendDataCache |
getValues() | 从缓存中检索出多个匹配指定键名的值。 | CCache |
setValue() | 往缓存中存储一个用键名区分的值。 | CZendDataCache |
方法详细
addValue()
方法
protected boolean addValue(string $key, string $value, integer $expire)
| ||
$key | string | 用以甄别缓存值的键名 |
$value | string | 要缓存的值 |
$expire | integer | 以秒为单位的数值,表示缓存的过期时间。为0则永不过期。 |
{return} | boolean | 成功存储到缓存中则返回true,否则返回false |
protected function addValue($key,$value,$expire)
{
return (NULL === zend_shm_cache_fetch($key)) ? $this->setValue($key,$value,$expire) : false;
}
仅仅在甄别缓存值的键名不存在的情况下,往缓存中存储值。 这是在父类中定义的方法的具体实现。
deleteValue()
方法
protected boolean deleteValue(string $key)
| ||
$key | string | 要删除值的键名 |
{return} | boolean | 如果删除期间没有发生错误 |
protected function deleteValue($key)
{
return zend_shm_cache_delete($key);
}
从缓存中删除指定键名对应的值 这是在父类中定义的方法的具体实现。
flushValues()
方法
(可用自 v1.1.5)
protected boolean flushValues()
| ||
{return} | boolean | 如果清空操作成功执行。 |
protected function flushValues()
{
return zend_shm_cache_clear();
}
删除所有缓存值。 这是在父类中定义的方法的具体实现。
getValue()
方法
protected string getValue(string $key)
| ||
$key | string | 用以甄别缓存值的唯一键名 |
{return} | string | 缓存中存储的值,如果该值不存在或者已过期则返回false。 |
protected function getValue($key)
{
$result = zend_shm_cache_fetch($key);
return $result !== NULL ? $result : false;
}
从缓存中检索一个匹配指定键名的值。 这是在父类中定义的方法的具体实现。
init()
方法
public void init()
|
public function init()
{
parent::init();
if(!function_exists('zend_shm_cache_store'))
throw new CException(Yii::t('yii','CZendDataCache requires PHP Zend Data Cache extension to be loaded.'));
}
初始化应用程序组件。 该方法在接口IApplicationComponent中有要求。 它检查Zend Data Cache是否可用。It checks the availability of Zend Data Cache.
setValue()
方法
protected boolean setValue(string $key, string $value, integer $expire)
| ||
$key | string | 用以甄别缓存值的键名 |
$value | string | 要缓存的值 |
$expire | integer | 以秒为单位的数值,表示缓存的过期时间。为0则永不过期。 |
{return} | boolean | 成功存储到缓存中则返回true,否则返回false |
protected function setValue($key,$value,$expire)
{
return zend_shm_cache_store($key,$value,$expire);
}
往缓存中存储一个用键名区分的值。 这是在父类中定义的方法的具体实现。