adding support for remote redis instances (such as redistogo) that require authentication

This commit is contained in:
TrimbleTodd 2013-02-20 11:41:41 -05:00
parent 9b45f152ab
commit 6a429c2f21

View File

@ -101,6 +101,7 @@ class Resque_Redis
}
else {
$port = null;
$password = null;
$host = $server;
// If not a UNIX socket path or tcp:// formatted connections string
@ -111,8 +112,19 @@ class Resque_Redis
$port = $parts[1];
}
$host = $parts[0];
}else if (strpos($server, 'redis://') !== false){
// Redis format is:
// redis://[user]:[password]@[host]:[port]
list($userpwd,$hostport) = explode('@', $server);
$userpwd = substr($userpwd, strpos($userpwd, 'redis://')+8);
list($host, $port) = explode(':', $hostport);
list($user, $password) = explode(':', $userpwd);
}
$this->driver = new Credis_Client($host, $port);
if (isset($password)){
$this->driver->auth($password);
}
}
if ($this->database !== null) {