CXCache
| 包 | system.caching | 
|---|---|
| 继承 | class CXCache » CCache » CApplicationComponent » CComponent | 
| 实现 | ArrayAccess, ICache, IApplicationComponent | 
| 源码 | framework/caching/CXCache.php | 
To use this application component, the XCache PHP extension must be loaded. Flush functionality will only work correctly if "xcache.admin.enable_auth" is set to "Off" in php.ini.
See CCache manual for common cache operations that are supported by CXCache.
公共属性
| 属性 | 类型 | 描述 | 被定义在 | 
|---|---|---|---|
| behaviors | array | the behaviors that should be attached to this component. | CApplicationComponent | 
| hashKey | boolean | whether to md5-hash the cache key for normalization purposes. | CCache | 
| isInitialized | boolean | Checks if this application component has been initialized. | CApplicationComponent | 
| keyPrefix | string | a string prefixed to every cache key so that it is unique. | CCache | 
| serializer | array|boolean | the functions used to serialize and unserialize cached data. | CCache | 
公共方法
| 方法 | 描述 | 被定义在 | 
|---|---|---|
| __call() | Calls the named method which is not a class method. | CComponent | 
| __get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent | 
| __isset() | Checks if a property value is null. | CComponent | 
| __set() | Sets value of a component property. | CComponent | 
| __unset() | Sets a component property to be null. | CComponent | 
| add() | Stores a value identified by a key into cache if the cache does not contain this key. | CCache | 
| asa() | Returns the named behavior object. | CComponent | 
| attachBehavior() | Attaches a behavior to this component. | CComponent | 
| attachBehaviors() | Attaches a list of behaviors to the component. | CComponent | 
| attachEventHandler() | Attaches an event handler to an event. | CComponent | 
| canGetProperty() | Determines whether a property can be read. | CComponent | 
| canSetProperty() | Determines whether a property can be set. | CComponent | 
| delete() | Deletes a value with the specified key from cache | CCache | 
| detachBehavior() | Detaches a behavior from the component. | CComponent | 
| detachBehaviors() | Detaches all behaviors from the component. | CComponent | 
| detachEventHandler() | Detaches an existing event handler. | CComponent | 
| disableBehavior() | Disables an attached behavior. | CComponent | 
| disableBehaviors() | Disables all behaviors attached to this component. | CComponent | 
| enableBehavior() | Enables an attached behavior. | CComponent | 
| enableBehaviors() | Enables all behaviors attached to this component. | CComponent | 
| evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent | 
| flush() | Deletes all values from cache. | CCache | 
| get() | Retrieves a value from cache with a specified key. | CCache | 
| getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent | 
| getIsInitialized() | Checks if this application component has been initialized. | CApplicationComponent | 
| hasEvent() | Determines whether an event is defined. | CComponent | 
| hasEventHandler() | Checks whether the named event has attached handlers. | CComponent | 
| hasProperty() | Determines whether a property is defined. | CComponent | 
| init() | Initializes this application component. | CXCache | 
| mget() | Retrieves multiple values from cache with the specified keys. | CCache | 
| offsetExists() | Returns whether there is a cache entry with a specified key. | CCache | 
| offsetGet() | Retrieves the value from cache with a specified key. | CCache | 
| offsetSet() | Stores the value identified by a key into cache. | CCache | 
| offsetUnset() | Deletes the value with the specified key from cache | CCache | 
| raiseEvent() | Raises an event. | CComponent | 
| set() | Stores a value identified by a key into cache. | CCache | 
受保护的方法
| 方法 | 描述 | 被定义在 | 
|---|---|---|
| addValue() | Stores a value identified by a key into cache if the cache does not contain this key. | CXCache | 
| deleteValue() | Deletes a value with the specified key from cache | CXCache | 
| flushValues() | Deletes all values from cache. | CXCache | 
| generateUniqueKey() | CCache | |
| getValue() | Retrieves a value from cache with a specified key. | CXCache | 
| getValues() | Retrieves multiple values from cache with the specified keys. | CCache | 
| setValue() | Stores a value identified by a key in cache. | CXCache | 
方法详情
| 
protected boolean addValue(string $key, string $value, integer $expire) | ||
| $key | string | the key identifying the value to be cached | 
| $value | string | the value to be cached | 
| $expire | integer | the number of seconds in which the cached value will expire. 0 means never expire. | 
| {return} | boolean | true if the value is successfully stored into cache, false otherwise | 
protected function addValue($key,$value,$expire)
{
    return !xcache_isset($key) ? $this->setValue($key,$value,$expire) : false;
}
Stores a value identified by a key into cache if the cache does not contain this key. This is the implementation of the method declared in the parent class.
| 
protected boolean deleteValue(string $key) | ||
| $key | string | the key of the value to be deleted | 
| {return} | boolean | if no error happens during deletion | 
protected function deleteValue($key)
{
    return xcache_unset($key);
}
Deletes a value with the specified key from cache This is the implementation of the method declared in the parent class.
| 
protected boolean flushValues() | ||
| {return} | boolean | whether the flush operation was successful. | 
protected function flushValues()
{
    for($i=0, $max=xcache_count(XC_TYPE_VAR); $i<$max; $i++)
    {
        if(xcache_clear_cache(XC_TYPE_VAR, $i)===false)
            return false;
    }
    return true;
}
Deletes all values from cache. This is the implementation of the method declared in the parent class.
| 
protected string|boolean getValue(string $key) | ||
| $key | string | a unique key identifying the cached value | 
| {return} | string|boolean | the value stored in cache, false if the value is not in the cache or expired. | 
protected function getValue($key)
{
    return xcache_isset($key) ? xcache_get($key) : false;
}
Retrieves a value from cache with a specified key. This is the implementation of the method declared in the parent class.
| 
public void init() | 
public function init()
{
    parent::init();
    if(!function_exists('xcache_isset'))
        throw new CException(Yii::t('yii','CXCache requires PHP XCache extension to be loaded.'));
}
Initializes this application component. This method is required by the IApplicationComponent interface. It checks the availability of memcache.
| 
protected boolean setValue(string $key, string $value, integer $expire) | ||
| $key | string | the key identifying the value to be cached | 
| $value | string | the value to be cached | 
| $expire | integer | the number of seconds in which the cached value will expire. 0 means never expire. | 
| {return} | boolean | true if the value is successfully stored into cache, false otherwise | 
protected function setValue($key,$value,$expire)
{
    return xcache_set($key,$value,$expire);
}
Stores a value identified by a key in cache. This is the implementation of the method declared in the parent class.