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 CRedisCache

CRedisCache implements a cache application component based on redis.

CRedisCache needs to be configured with CRedisCache::$hostname, CRedisCache::$port and CRedisCache::$database of the server to connect to. By default CRedisCache assumes there is a redis server running on localhost at port 6379 and uses the database number 0.

CRedisCache also supports the AUTH command of redis. When the server needs authentication, you can set the CRedisCache::$password property to authenticate with the server after connect.

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

To use CRedisCache as the cache application component, configure the application as follows,

array(
    'components'=>array(
        'cache'=>array(
            'class'=>'CRedisCache',
            'hostname'=>'localhost',
            'port'=>6379,
            'database'=>0,
        ),
    ),
)

The minimum required redis version is 2.0.0.

CComponent
Extended by CApplicationComponent implements IApplicationComponent
Extended by CCache implements ICache, ArrayAccess
Extended by CRedisCache
Package: system\caching
Copyright: 2008-2013 Yii Software LLC
License: http://www.yiiframework.com/license/
Author: Carsten Brandt <mail@cebe.cc>
Since: 1.1.14
Located at x2engine/framework/caching/CRedisCache.php
Methods summary
protected
# connect( )

Establishes a connection to the redis server. It does nothing if the connection has already been established.

Establishes a connection to the redis server. It does nothing if the connection has already been established.

Throws

CException
if connecting fails
public array|boolean|null|string
# executeCommand( string $name, array $params = array() )

Executes a redis command. For a list of available commands and their parameters see http://redis.io/commands.

Executes a redis command. For a list of available commands and their parameters see http://redis.io/commands.

Parameters

$name
string
$name the name of the command
$params
array
$params list of parameters for the command

Returns

array|boolean|null|string
Dependend on the executed command this method will return different data types:
  • <span class="php-keyword1">true</span> for commands that return "status reply".
  • string for commands that return "integer reply" as the value is in the range of a signed 64 bit integer.
  • string or <span class="php-keyword1">null</span> for commands that return "bulk reply".
  • <span class="php-keyword1">array</span> for commands that return "Multi-bulk replies".
See redis protocol description for details on the mentioned reply types.

Throws

CException
for commands that return error reply.
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 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

Overrides

CCache::flushValues()
Methods inherited from CCache
add(), delete(), flush(), generateUniqueKey(), get(), init(), 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 $hostname 'localhost'
#

hostname to use for connecting to the redis server. Defaults to 'localhost'.

hostname to use for connecting to the redis server. Defaults to 'localhost'.

public integer $port 6379
#

the port to use for connecting to the redis server. Default port is 6379.

the port to use for connecting to the redis server. Default port is 6379.

public string $password
#

the password to use to authenticate with the redis server. If not set, no AUTH command will be sent.

the password to use to authenticate with the redis server. If not set, no AUTH command will be sent.

public integer $database 0
#

the redis database to use. This is an integer value starting from 0. Defaults to 0.

the redis database to use. This is an integer value starting from 0. Defaults to 0.

public float $timeout null
#

timeout to use for connection to redis. If not set the timeout set in php.ini will be used: ini_get("default_socket_timeout")

timeout to use for connection to redis. If not set the timeout set in php.ini will be used: ini_get("default_socket_timeout")

Properties inherited from CCache
$hashKey, $keyPrefix, $serializer
Properties inherited from CApplicationComponent
$behaviors
Magic properties inherited from CApplicationComponent
$isInitialized
API documentation generated by ApiGen 2.8.0