Source of file RedisOptions.php
Size: 6,579 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Cache/Storage/Adapter/RedisOptions.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Cache\Storage\Adapter; use Zend\Cache\Exception; class RedisOptions extends AdapterOptions { /** * The namespace separator * @var string */ protected $namespaceSeparator = ':'; /** * The redis resource manager * * @var null|RedisResourceManager */ protected $resourceManager; /** * The resource id of the resource manager * * @var string */ protected $resourceId = 'default'; /** * Set namespace. * * The option Redis::OPT_PREFIX will be used as the namespace. * It can't be longer than 128 characters. * * @param string $namespace Prefix for each key stored in redis * @return \Zend\Cache\Storage\Adapter\RedisOptions * * @see AdapterOptions::setNamespace() * @see RedisOptions::setPrefixKey() */ public function setNamespace($namespace) { $namespace = (string) $namespace; if (128 < strlen($namespace)) { throw new Exception\InvalidArgumentException(sprintf( '%s expects a prefix key of no longer than 128 characters', __METHOD__ )); } return parent::setNamespace($namespace); } /** * Set namespace separator * * @param string $namespaceSeparator * @return RedisOptions */ public function setNamespaceSeparator($namespaceSeparator) { $namespaceSeparator = (string) $namespaceSeparator; if ($this->namespaceSeparator !== $namespaceSeparator) { $this->triggerOptionEvent('namespace_separator', $namespaceSeparator); $this->namespaceSeparator = $namespaceSeparator; } return $this; } /** * Get namespace separator * * @return string */ public function getNamespaceSeparator() { return $this->namespaceSeparator; } /** * Set the redis resource manager to use * * @param null|RedisResourceManager $resourceManager * @return RedisOptions */ public function setResourceManager(RedisResourceManager $resourceManager = null) { if ($this->resourceManager !== $resourceManager) { $this->triggerOptionEvent('resource_manager', $resourceManager); $this->resourceManager = $resourceManager; } return $this; } /** * Get the redis resource manager * * @return RedisResourceManager */ public function getResourceManager() { if (!$this->resourceManager) { $this->resourceManager = new RedisResourceManager(); } return $this->resourceManager; } /** * Get the redis resource id * * @return string */ public function getResourceId() { return $this->resourceId; } /** * Set the redis resource id * * @param string $resourceId * @return RedisOptions */ public function setResourceId($resourceId) { $resourceId = (string) $resourceId; if ($this->resourceId !== $resourceId) { $this->triggerOptionEvent('resource_id', $resourceId); $this->resourceId = $resourceId; } return $this; } /** * Get the persistent id * * @return string */ public function getPersistentId() { return $this->getResourceManager()->getPersistentId($this->getResourceId()); } /** * Set the persistent id * * @param string $persistentId * @return RedisOptions */ public function setPersistentId($persistentId) { $this->triggerOptionEvent('persistent_id', $persistentId); $this->getResourceManager()->setPersistentId($this->getResourceId(), $persistentId); return $this; } /** * Set redis options * * @param array $libOptions * @return RedisOptions * @link http://github.com/nicolasff/phpredis#setoption */ public function setLibOptions(array $libOptions) { $this->triggerOptionEvent('lib_option', $libOptions); $this->getResourceManager()->setLibOptions($this->getResourceId(), $libOptions); return $this; } /** * Get redis options * * @return array * @link http://github.com/nicolasff/phpredis#setoption */ public function getLibOptions() { return $this->getResourceManager()->getLibOptions($this->getResourceId()); } /** * Set server * * Server can be described as follows: * - URI: /path/to/sock.sock * - Assoc: array('host' => <host>[, 'port' => <port>[, 'timeout' => <timeout>]]) * - List: array(<host>[, <port>, [, <timeout>]]) * * @param string|array $server * * @return RedisOptions */ public function setServer($server) { $this->getResourceManager()->setServer($this->getResourceId(), $server); return $this; } /** * Get server * * @return array array('host' => <host>[, 'port' => <port>[, 'timeout' => <timeout>]]) */ public function getServer() { return $this->getResourceManager()->getServer($this->getResourceId()); } /** * Set resource database number * * @param int $database Database number * * @return RedisOptions */ public function setDatabase($database) { $this->getResourceManager()->setDatabase($this->getResourceId(), $database); return $this; } /** * Get resource database number * * @return int Database number */ public function getDatabase() { return $this->getResourceManager()->getDatabase($this->getResourceId()); } /** * Set resource password * * @param string $password Password * * @return RedisOptions */ public function setPassword($password) { $this->getResourceManager()->setPassword($this->getResourceId(), $password); return $this; } /** * Get resource password * * @return string */ public function getPassword() { return $this->getResourceManager()->getPassword($this->getResourceId()); } } |