Browse Source
Allow redis cluster to use password
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
pull/15685/head
Morris Jobke
7 years ago
No known key found for this signature in database
GPG Key ID: FE03C3A163FEDE68
2 changed files with
11 additions and
3 deletions
-
config/config.sample.php
-
lib/private/RedisFactory.php
|
|
|
@ -1160,15 +1160,19 @@ $CONFIG = array( |
|
|
|
* which then causes a FileLocked exception. |
|
|
|
* |
|
|
|
* 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' => [ |
|
|
|
'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required
|
|
|
|
'localhost:7000', |
|
|
|
'localhost:7001' |
|
|
|
'localhost:7001', |
|
|
|
], |
|
|
|
'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 { |
|
|
|
$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'])) { |
|
|
|
$this->instance->setOption(\RedisCluster::OPT_SLAVE_FAILOVER, $config['failover_mode']); |
|
|
|
|