PHP Class yii\mongodb\Cache

By default, Cache stores session data in a MongoDB collection named 'cache' inside the default database. This collection is better to be pre-created with fields 'id' and 'expire' indexed. The collection name can be changed by setting [[cacheCollection]]. Please refer to Cache for common cache operations that are supported by Cache. The following example shows how you can configure the application to use Cache: php 'cache' => [ 'class' => 'yii\mongodb\Cache', 'db' => 'mymongodb', 'cacheCollection' => 'my_cache', ]
Since: 2.0
Author: Paul Klimov ([email protected])
Inheritance: extends yii\caching\Cache
Datei anzeigen Open project: yiisoft/yii2-mongodb Class Usage Examples

Public Properties

Property Type Description
$cacheCollection the name of the MongoDB collection that stores the cache data. Please refer to [[Connection::getCollection()]] on how to specify this parameter. This collection is better to be pre-created with fields 'id' and 'expire' indexed.
$db the MongoDB connection object or the application component ID of the MongoDB connection. After the Cache object is created, if you want to change this property, you should only assign it with a MongoDB connection object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
$gcProbability 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.

Public Methods

Method Description
gc ( boolean $force = false ) Removes the expired data values.
init ( ) Initializes the Cache component.

Protected Methods

Method Description
addValue ( string $key, string $value, integer $expire ) : boolean Stores a value identified by a key into cache if the cache does not contain this key.
deleteValue ( string $key ) : boolean Deletes a value with the specified key from cache This method should be implemented by child classes to delete the data from actual cache storage.
flushValues ( ) : boolean Deletes all values from cache.
getValue ( string $key ) : string | boolean Retrieves a value from cache with a specified key.
setValue ( string $key, string $value, integer $expire ) : boolean Stores a value identified by a key in cache.

Method Details

addValue() protected method

This method should be implemented by child classes to store the data in specific cache storage.
protected addValue ( string $key, string $value, integer $expire ) : boolean
$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

deleteValue() protected method

Deletes a value with the specified key from cache This method should be implemented by child classes to delete the data from actual cache storage.
protected deleteValue ( string $key ) : boolean
$key string the key of the value to be deleted
return boolean if no error happens during deletion

flushValues() protected method

Child classes may implement this method to realize the flush operation.
protected flushValues ( ) : boolean
return boolean whether the flush operation was successful.

gc() public method

Removes the expired data values.
public gc ( boolean $force = false )
$force boolean whether to enforce the garbage collection regardless of [[gcProbability]]. Defaults to false, meaning the actual deletion happens with the probability as specified by [[gcProbability]].

getValue() protected method

This method should be implemented by child classes to retrieve the data from specific cache storage.
protected getValue ( string $key ) : string | boolean
$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.

init() public method

This method will initialize the [[db]] property to make sure it refers to a valid MongoDB connection.
public init ( )

setValue() protected method

This method should be implemented by child classes to store the data in specific cache storage.
protected setValue ( string $key, string $value, integer $expire ) : boolean
$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

Property Details

$cacheCollection public_oe property

the name of the MongoDB collection that stores the cache data. Please refer to [[Connection::getCollection()]] on how to specify this parameter. This collection is better to be pre-created with fields 'id' and 'expire' indexed.
public $cacheCollection

$db public_oe property

the MongoDB connection object or the application component ID of the MongoDB connection. After the Cache object is created, if you want to change this property, you should only assign it with a MongoDB connection object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
public $db

$gcProbability public_oe property

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.
public $gcProbability