Browse Source

added missing init() method to Cache class

tags/2.0.0-beta
Carsten Brandt 12 years ago
parent
commit
fad011274c
  1. 12
      framework/caching/Cache.php
  2. 10
      framework/caching/RedisCache.php
  3. 10
      tests/unit/framework/caching/CacheTest.php

12
framework/caching/Cache.php

@ -71,6 +71,18 @@ abstract class Cache extends Component implements \ArrayAccess
/** /**
* Initializes the application component.
* This method overrides the parent implementation by setting default cache key prefix.
*/
public function init()
{
parent::init();
if ($this->keyPrefix === null) {
$this->keyPrefix = \Yii::$app->id;
}
}
/**
* Builds a normalized cache key from a given key. * Builds a normalized cache key from a given key.
* *
* The generated key contains letters and digits only, and its length is no more than 32. * The generated key contains letters and digits only, and its length is no more than 32.

10
framework/caching/RedisCache.php

@ -20,8 +20,8 @@ use yii\db\redis\Connection;
* When the server needs authentication, you can set the [[password]] property to * When the server needs authentication, you can set the [[password]] property to
* authenticate with the server after connect. * authenticate with the server after connect.
* *
* See [[Cache]] for common cache operations that RedisCache supports. * See [[Cache]] manual for common cache operations that RedisCache supports.
* Different from the description in [[Cache]] RedisCache allows the expire parameter of * Different from the description in [[Cache]], RedisCache allows the expire parameter of
* [[set]] and [[add]] to be a floating point number, so you may specify the time in milliseconds. * [[set]] and [[add]] to be a floating point number, so you may specify the time in milliseconds.
* *
* To use RedisCache as the cache application component, configure the application as follows, * To use RedisCache as the cache application component, configure the application as follows,
@ -39,12 +39,6 @@ use yii\db\redis\Connection;
* ) * )
* ~~~ * ~~~
* *
* In the above, two memcache servers are used: server1 and server2. You can configure more properties of
* each server, such as `persistent`, `weight`, `timeout`. Please see [[MemCacheServer]] for available options.
*
* @property \Memcache|\Memcached $memCache The memcache instance (or memcached if [[useMemcached]] is true) used by this component.
* @property MemCacheServer[] $servers List of memcache server configurations.
*
* @author Carsten Brandt <mail@cebe.cc> * @author Carsten Brandt <mail@cebe.cc>
* @since 2.0 * @since 2.0
*/ */

10
tests/unit/framework/caching/CacheTest.php

@ -29,6 +29,16 @@ abstract class CacheTest extends TestCase
return $cache; return $cache;
} }
/**
* default value of cache prefix is application id
*/
public function testKeyPrefix()
{
$cache = $this->getCacheInstance();
$this->assertNotNull(\Yii::$app->id);
$this->assertEquals(\Yii::$app->id, $cache->keyPrefix);
}
public function testSet() public function testSet()
{ {
$cache = $this->getCacheInstance(); $cache = $this->getCacheInstance();

Loading…
Cancel
Save