Allow empty Redis config

When Redis config is empty, use defaults.
However when a Redis cluster config is specified, the "seeds" attribute
is mandatory.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
This commit is contained in:
Vincent Petry 2021-07-23 09:53:06 +02:00
parent 97976746b8
commit 41ddbec40f
No known key found for this signature in database
GPG key ID: E055D6A4D513575C

View file

@ -51,10 +51,6 @@ class RedisFactory {
? $this->config->getValue('redis.cluster', [])
: $this->config->getValue('redis', []);
if (empty($config)) {
throw new \Exception('Redis config is empty');
}
if ($isCluster && !class_exists('RedisCluster')) {
throw new \Exception('Redis Cluster support is not available');
}
@ -86,6 +82,10 @@ class RedisFactory {
// cluster config
if ($isCluster) {
if (!isset($config['seeds'])) {
throw new \Exception('Redis cluster config is missing the "seeds" attribute');
}
// Support for older phpredis versions not supporting connectionParameters
if ($connectionParameters !== null) {
$this->instance = new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout, false, $auth, $connectionParameters);