CFileCache
CFileCache provides a file-based caching mechanism.
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.
Property Details
public string $cacheFileSuffix;
cache file suffix. Defaults to '.bin'.
public string $cachePath;
the directory to store cache files. Defaults to null, meaning
using 'protected/runtime/cache' as the directory.
public integer $directoryLevel;
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.
Method Details
|
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.
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.
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.