Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ff2366c

Browse files
committed
cluster support for predis dsn
1 parent a250c51 commit ff2366c

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/Symfony/Component/Cache/Tests/Adapter/PredisRedisClusterAdapterTest.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@
1111

1212
namespace Symfony\Component\Cache\Tests\Adapter;
1313

14+
use Symfony\Component\Cache\Adapter\RedisAdapter;
15+
1416
class PredisRedisClusterAdapterTest extends AbstractRedisAdapterTest
1517
{
1618
public static function setupBeforeClass()
1719
{
1820
if (!$hosts = getenv('REDIS_CLUSTER_HOSTS')) {
1921
self::markTestSkipped('REDIS_CLUSTER_HOSTS env var is not defined.');
2022
}
21-
self::$redis = new \Predis\Client(explode(' ', $hosts), array('cluster' => 'redis'));
23+
24+
self::$redis = RedisAdapter::createConnection('redis://'.str_replace(' ', ',', $hosts), array('class' => \Predis\Client::class, 'cluster' => 'server'));
2225
}
2326

2427
public static function tearDownAfterClass()

src/Symfony/Component/Cache/Traits/RedisTrait.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,9 @@ public static function createConnection($dsn, array $options = array())
185185
$params['scheme'] = $scheme;
186186
$params['database'] = $params['dbindex'] ?: null;
187187
$params['password'] = $auth;
188-
$redis = new $class((new Factory())->create($params));
188+
$redis = new $class($params, array(
189+
'cluster' => 'server' === $params['cluster'] ? 'redis' : null,
190+
));
189191
} elseif (class_exists($class, false)) {
190192
throw new InvalidArgumentException(sprintf('"%s" is not a subclass of "Redis" or "Predis\Client"', $class));
191193
} else {

0 commit comments

Comments
 (0)