Merge pull request #15685 from nextcloud/fix/noid/redis-cluster-with-auth
Allow redis cluster to use password
This commit is contained in:
commit
024fc27e9a
|
@ -1160,15 +1160,19 @@ $CONFIG = array(
|
||||||
* which then causes a FileLocked exception.
|
* which then causes a FileLocked exception.
|
||||||
*
|
*
|
||||||
* See https://redis.io/topics/cluster-spec for details about the Redis cluster
|
* See https://redis.io/topics/cluster-spec for details about the Redis cluster
|
||||||
|
*
|
||||||
|
* Authentication works with phpredis version 4.2.1+. See
|
||||||
|
* https://github.com/phpredis/phpredis/commit/c5994f2a42b8a348af92d3acb4edff1328ad8ce1
|
||||||
*/
|
*/
|
||||||
'redis.cluster' => [
|
'redis.cluster' => [
|
||||||
'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required
|
'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required
|
||||||
'localhost:7000',
|
'localhost:7000',
|
||||||
'localhost:7001'
|
'localhost:7001',
|
||||||
],
|
],
|
||||||
'timeout' => 0.0,
|
'timeout' => 0.0,
|
||||||
'read_timeout' => 0.0,
|
'read_timeout' => 0.0,
|
||||||
'failover_mode' => \RedisCluster::FAILOVER_ERROR
|
'failover_mode' => \RedisCluster::FAILOVER_ERROR,
|
||||||
|
'password' => '', // Optional, if not defined no password will be used.
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,11 @@ class RedisFactory {
|
||||||
} else {
|
} else {
|
||||||
$readTimeout = null;
|
$readTimeout = null;
|
||||||
}
|
}
|
||||||
$this->instance = new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout);
|
if (isset($config['password']) && $config['password'] !== '') {
|
||||||
|
$this->instance = new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout, false, $config['password']);
|
||||||
|
} else {
|
||||||
|
$this->instance = new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($config['failover_mode'])) {
|
if (isset($config['failover_mode'])) {
|
||||||
$this->instance->setOption(\RedisCluster::OPT_SLAVE_FAILOVER, $config['failover_mode']);
|
$this->instance->setOption(\RedisCluster::OPT_SLAVE_FAILOVER, $config['failover_mode']);
|
||||||
|
|
Loading…
Reference in New Issue