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' => [, 'port' => [, 'timeout' => ]]) * - List: array([, , [, ]]) * * @param string|array $server * * @return RedisOptions */ public function setServer($server) { $this->getResourceManager()->setServer($this->getResourceId(), $server); return $this; } /** * Get server * * @return array array('host' => [, 'port' => [, '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()); } }