CFileCache
包 | system.caching |
---|---|
继承 | class CFileCache » CCache » CApplicationComponent » CComponent |
实现 | ArrayAccess, ICache, IApplicationComponent |
可用自 | 1.0.6 |
版本 | $Id$ |
For each data value being cached, CFileCache will use store it in a separate file under cachePath which defaults to 'protected/runtime/cache'. CFileCache will perform garbage collection automatically to remove expired cache files.
See CCache manual for common cache operations that are supported by CFileCache.
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
behaviors | array | the behaviors that should be attached to this component. | CApplicationComponent |
cacheFileSuffix | string | cache file suffix. | CFileCache |
cachePath | string | the directory to store cache files. | CFileCache |
directoryLevel | integer | the level of sub-directories to store cache files. | CFileCache |
gCProbability | integer | the probability (parts per million) that garbage collection (GC) should be performed when storing a piece of data in the cache. | CFileCache |
isInitialized | boolean | whether this application component has been initialized (i. | CApplicationComponent |
keyPrefix | string | a string prefixed to every cache key so that it is unique. | 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 |
flush() | Deletes all values from cache. | CFileCache |
get() | Retrieves a value from cache with a specified key. | CCache |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getGCProbability() | CFileCache | |
getIsInitialized() | 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. | CFileCache |
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 |
setGCProbability() | CFileCache |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
addValue() | Stores a value identified by a key into cache if the cache does not contain this key. | CFileCache |
deleteValue() | Deletes a value with the specified key from cache | CFileCache |
gc() | Removes expired cache files. | CFileCache |
generateUniqueKey() | CCache | |
getCacheFile() | Returns the cache file path given the cache key. | CFileCache |
getValue() | Retrieves a value from cache with a specified key. | CFileCache |
getValues() | Retrieves multiple values from cache with the specified keys. | CCache |
setValue() | Stores a value identified by a key in cache. | CFileCache |
属性详情
cache file suffix. Defaults to '.bin'.
the directory to store cache files. Defaults to null, meaning using 'protected/runtime/cache' as the directory.
the level of sub-directories to store cache files. Defaults to 0, meaning no sub-directories. If the system has huge number of cache files (e.g. 10K+), you may want to set this value to be 1 or 2 so that the file system is not over burdened. The value of this property should not exceed 16 (less than 3 is recommended).
the probability (parts per million) that garbage collection (GC) should be performed when storing a piece of data in the cache. Defaults to 100, meaning 0.01% chance.
方法详情
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 |
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 |
Deletes a value with the specified key from cache This is the implementation of the method declared in the parent class.
public void flush()
|
Deletes all values from cache. Be careful of performing this operation if the cache is shared by multiple applications.
protected void gc(boolean $expiredOnly=true, string $path=NULL)
| ||
$expiredOnly | boolean | whether to removed expired cache files only. If true, all cache files under cachePath will be removed. |
$path | string | the path to clean with. If null, it will be cachePath. |
Removes expired cache files.
protected string getCacheFile(string $key)
| ||
$key | string | cache key |
{return} | string | the cache file path |
Returns the cache file path given the cache key.
public integer getGCProbability()
| ||
{return} | integer | the probability (parts per million) that garbage collection (GC) should be performed when storing a piece of data in the cache. Defaults to 100, meaning 0.01% chance. |
protected string getValue(string $key)
| ||
$key | string | a unique key identifying the cached value |
{return} | string | the value stored in cache, false if the value is not in the cache or expired. |
Retrieves a value from cache with a specified key. This is the implementation of the method declared in the parent class.
public void init()
|
Initializes this application component. This method is required by the IApplicationComponent interface. It checks the availability of memcache.
public void setGCProbability(integer $value)
| ||
$value | integer | the probability (parts per million) that garbage collection (GC) should be performed when storing a piece of data in the cache. Defaults to 100, meaning 0.01% chance. This number should be between 0 and 1000000. A value 0 meaning no GC will be performed at all. |
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 |
Stores a value identified by a key in cache. This is the implementation of the method declared in the parent class.