Overview

Packages

  • application
    • commands
    • components
      • actions
      • filters
      • leftWidget
      • permissions
      • sortableWidget
      • util
      • webupdater
      • x2flow
        • actions
        • triggers
      • X2GridView
      • X2Settings
    • controllers
    • models
      • embedded
    • modules
      • accounts
        • controllers
        • models
      • actions
        • controllers
        • models
      • calendar
        • controllers
        • models
      • charts
        • models
      • contacts
        • controllers
        • models
      • docs
        • components
        • controllers
        • models
      • groups
        • controllers
        • models
      • marketing
        • components
        • controllers
        • models
      • media
        • controllers
        • models
      • mobile
        • components
      • opportunities
        • controllers
        • models
      • products
        • controllers
        • models
      • quotes
        • controllers
        • models
      • services
        • controllers
        • models
      • template
        • models
      • users
        • controllers
        • models
      • workflow
        • controllers
        • models
      • x2Leads
        • controllers
        • models
  • Net
  • None
  • PHP
  • system
    • base
    • caching
      • dependencies
    • collections
    • console
    • db
      • ar
      • schema
        • cubrid
        • mssql
        • mysql
        • oci
        • pgsql
        • sqlite
    • i18n
      • gettext
    • logging
    • test
    • utils
    • validators
    • web
      • actions
      • auth
      • filters
      • form
      • helpers
      • renderers
      • services
      • widgets
        • captcha
        • pagers
  • Text
    • Highlighter
  • zii
    • behaviors
    • widgets
      • grid
      • jui

Classes

  • CApcCache
  • CCache
  • CDbCache
  • CDummyCache
  • CEAcceleratorCache
  • CFileCache
  • CMemCache
  • CMemCacheServerConfiguration
  • CRedisCache
  • CWinCache
  • CXCache
  • CZendDataCache
  • X2FileCache

Interfaces

  • ICache
  • ICacheDependency
  • Overview
  • Package
  • Class
  • Tree

Class CDbCache

CDbCache implements a cache application component by storing cached data in a database.

CDbCache stores cache data in a DB table named CDbCache::$cacheTableName. If the table does not exist, it will be automatically created. By setting CDbCache::$autoCreateCacheTable to false, you can also manually create the DB table.

CDbCache relies on PDO to access database. By default, it will use a SQLite3 database under the application runtime directory. You can also specify CDbCache::$connectionID so that it makes use of a DB application component to access database.

See CCache manual for common cache operations that are supported by CDbCache.

CComponent
Extended by CApplicationComponent implements IApplicationComponent
Extended by CCache implements ICache, ArrayAccess
Extended by CDbCache
Package: system\caching
Copyright: 2008-2013 Yii Software LLC
License: http://www.yiiframework.com/license/
Author: Qiang Xue <qiang.xue@gmail.com>
Since: 1.0
Located at x2engine/framework/caching/CDbCache.php
Methods summary
public
# init( )

Initializes this application component.

Initializes this application component.

This method is required by the IApplicationComponent interface. It ensures the existence of the cache DB table. It also removes expired data items from the cache.

Overrides

CCache::init()
public integer
# getGCProbability( )

Returns

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.
public
# setGCProbability( integer $value )

Parameters

$value
integer
$value 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
# createCacheTable( CDbConnection $db, string $tableName )

Creates the cache DB table.

Creates the cache DB table.

Parameters

$db
CDbConnection
$db the database connection
$tableName
string
$tableName the name of the table to be created
public CDbConnection
# getDbConnection( )

Returns

CDbConnection
the DB connection instance

Throws

CException
if CDbCache::$connectionID does not point to a valid application component.
public
# setDbConnection( CDbConnection $value )

Sets the DB connection used by the cache component.

Sets the DB connection used by the cache component.

Parameters

$value
CDbConnection
$value the DB connection instance

Since

1.1.5
protected string|boolean
# getValue( string $key )

Retrieves a value from cache with a specified key. This is the implementation of the method declared in the parent class.

Retrieves a value from cache with a specified key. This is the implementation of the method declared in the parent class.

Parameters

$key
string
$key a unique key identifying the cached value

Returns

string|boolean
the value stored in cache, false if the value is not in the cache or expired.

Throws

CException
if this method is not overridden by child classes

Overrides

CCache::getValue()
protected array
# getValues( array $keys )

Retrieves multiple values from cache with the specified keys.

Retrieves multiple values from cache with the specified keys.

Parameters

$keys
array
$keys a list of keys identifying the cached values

Returns

array
a list of cached values indexed by the keys

Overrides

CCache::getValues()
protected boolean
# setValue( string $key, string $value, integer $expire )

Stores a value identified by a key in cache. This is the implementation of the method declared in the parent class.

Stores a value identified by a key in cache. This is the implementation of the method declared in the parent class.

Parameters

$key
string
$key the key identifying the value to be cached
$value
string
$value the value to be cached
$expire
integer
$expire the number of seconds in which the cached value will expire. 0 means never expire.

Returns

boolean
true if the value is successfully stored into cache, false otherwise

Throws

CException
if this method is not overridden by child classes

Overrides

CCache::setValue()
protected boolean
# addValue( string $key, string $value, integer $expire )

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.

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.

Parameters

$key
string
$key the key identifying the value to be cached
$value
string
$value the value to be cached
$expire
integer
$expire the number of seconds in which the cached value will expire. 0 means never expire.

Returns

boolean
true if the value is successfully stored into cache, false otherwise

Throws

CException
if this method is not overridden by child classes

Overrides

CCache::addValue()
protected boolean
# deleteValue( string $key )

Deletes a value with the specified key from cache This is the implementation of the method declared in the parent class.

Deletes a value with the specified key from cache This is the implementation of the method declared in the parent class.

Parameters

$key
string
$key the key of the value to be deleted

Returns

boolean
if no error happens during deletion

Throws

CException
if this method is not overridden by child classes

Overrides

CCache::deleteValue()
protected
# gc( )

Removes the expired data values.

Removes the expired data values.

protected boolean
# flushValues( )

Deletes all values from cache. This is the implementation of the method declared in the parent class.

Deletes all values from cache. This is the implementation of the method declared in the parent class.

Returns

boolean
whether the flush operation was successful.

Throws

CException
if this method is not overridden by child classes

Since

1.1.5

Overrides

CCache::flushValues()
Methods inherited from CCache
add(), delete(), flush(), generateUniqueKey(), get(), mget(), offsetExists(), offsetGet(), offsetSet(), offsetUnset(), set()
Methods inherited from CApplicationComponent
getIsInitialized()
Methods inherited from CComponent
__call(), __get(), __isset(), __set(), __unset(), asa(), attachBehavior(), attachBehaviors(), attachEventHandler(), canGetProperty(), canSetProperty(), detachBehavior(), detachBehaviors(), detachEventHandler(), disableBehavior(), disableBehaviors(), enableBehavior(), enableBehaviors(), evaluateExpression(), getEventHandlers(), hasEvent(), hasEventHandler(), hasProperty(), raiseEvent()
Properties summary
public string $connectionID
#

the ID of the CDbConnection application component. If not set, a SQLite3 database will be automatically created and used. The SQLite database file is <span class="php-keyword1">protected</span>/runtime/cache-YiiVersion.db.

the ID of the CDbConnection application component. If not set, a SQLite3 database will be automatically created and used. The SQLite database file is <span class="php-keyword1">protected</span>/runtime/cache-YiiVersion.db.

public string $cacheTableName 'YiiCache'
#

name of the DB table to store cache content. Defaults to 'YiiCache'. Note, if CDbCache::$autoCreateCacheTable is false and you want to create the DB table manually by yourself, you need to make sure the DB table is of the following structure:

(id CHAR(128) PRIMARY KEY, expire INTEGER, value BLOB)

Note, some DBMS might not support BLOB type. In this case, replace 'BLOB' with a suitable binary data type (e.g. LONGBLOB in MySQL, BYTEA in PostgreSQL.)

name of the DB table to store cache content. Defaults to 'YiiCache'. Note, if CDbCache::$autoCreateCacheTable is false and you want to create the DB table manually by yourself, you need to make sure the DB table is of the following structure:

(id CHAR(128) PRIMARY KEY, expire INTEGER, value BLOB)

Note, some DBMS might not support BLOB type. In this case, replace 'BLOB' with a suitable binary data type (e.g. LONGBLOB in MySQL, BYTEA in PostgreSQL.)

See

CDbCache::$autoCreateCacheTable
public boolean $autoCreateCacheTable true
#

whether the cache DB table should be created automatically if it does not exist. Defaults to true. If you already have the table created, it is recommended you set this property to be false to improve performance.

whether the cache DB table should be created automatically if it does not exist. Defaults to true. If you already have the table created, it is recommended you set this property to be false to improve performance.

See

CDbCache::$cacheTableName
Properties inherited from CCache
$hashKey, $keyPrefix, $serializer
Properties inherited from CApplicationComponent
$behaviors
Magic properties summary
public integer $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.

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.

public CDbConnection $dbConnection
#

The DB connection instance.

The DB connection instance.

Magic properties inherited from CApplicationComponent
$isInitialized
API documentation generated by ApiGen 2.8.0