diff --git a/laravel/redis.php b/laravel/redis.php index 02267d32..516f5aac 100644 --- a/laravel/redis.php +++ b/laravel/redis.php @@ -16,6 +16,13 @@ class Redis { */ protected $port; + /** + * The database password, if present. + * + * @var string + */ + protected $password; + /** * The database number the connection selects on load. * @@ -45,10 +52,11 @@ class Redis { * @param int $database * @return void */ - public function __construct($host, $port, $database = 0) + public function __construct($host, $port, $password = null, $database = 0) { $this->host = $host; $this->port = $port; + $this->password = $password; $this->database = $database; } @@ -79,7 +87,12 @@ public static function db($name = 'default') extract($config); - static::$databases[$name] = new static($host, $port, $database); + if ( ! isset($password)) + { + $password = null; + } + + static::$databases[$name] = new static($host, $port, $password, $database); } return static::$databases[$name]; @@ -153,6 +166,11 @@ protected function connect() throw new \Exception("Error making Redis connection: {$error} - {$message}"); } + if ( $this->password ) + { + $this->auth($this->password); + } + $this->select($this->database); return $this->connection;