/** * Gets a redis resource * * @param string $id * @return RedisResource * @throws Exception\RuntimeException */ public function getResource($id) { if (!$this->hasResource($id)) { throw new Exception\RuntimeException("No resource with id '{$id}'"); } $resource =& $this->resources[$id]; if ($resource['resource'] instanceof RedisResource) { //in case new server was set then connect if (!$resource['initialized']) { $this->connect($resource); } $info = $resource['resource']->info(); $resource['version'] = $info['redis_version']; return $resource['resource']; } $redis = new RedisResource(); foreach ($resource['lib_options'] as $k => $v) { $redis->setOption($k, $v); } $resource['resource'] = $redis; $this->connect($resource); $info = $redis->info(); $resource['version'] = $info['redis_version']; $this->resources[$id]['resource'] = $redis; return $redis; }
public function testGetSetDatabase() { $this->assertTrue($this->_storage->setItem('key', 'val')); $this->assertEquals('val', $this->_storage->getItem('key')); $databaseNumber = 1; $resourceManager = $this->_options->getResourceManager(); $resourceManager->setDatabase($this->_options->getResourceId(), $databaseNumber); $this->assertNull($this->_storage->getItem('key'), 'No value should be found because set was done on different database than get'); $this->assertEquals($databaseNumber, $resourceManager->getDatabase($this->_options->getResourceId()), 'Incorrect database was returned'); }
public function __construct($options) { parent::__construct($options); }