@@ -47,7 +47,6 @@ trait RedisTrait
47
47
'tcp_keepalive ' => 0 ,
48
48
'lazy ' => null ,
49
49
'redis_cluster ' => false ,
50
- 'relay_cluster ' => false ,
51
50
'relay_cluster_context ' => [],
52
51
'redis_sentinel ' => null ,
53
52
'dbindex ' => 0 ,
@@ -191,33 +190,26 @@ public static function createConnection(#[\SensitiveParameter] string $dsn, arra
191
190
if (isset ($ params ['lazy ' ])) {
192
191
$ params ['lazy ' ] = filter_var ($ params ['lazy ' ], \FILTER_VALIDATE_BOOLEAN );
193
192
}
193
+
194
194
$ params ['redis_cluster ' ] = filter_var ($ params ['redis_cluster ' ], \FILTER_VALIDATE_BOOLEAN );
195
- $ params ['relay_cluster ' ] = filter_var ($ params ['relay_cluster ' ], \FILTER_VALIDATE_BOOLEAN );
196
-
197
- $ conflictingOptions = array_filter ([
198
- 'redis_cluster ' => $ params ['redis_cluster ' ],
199
- 'relay_cluster ' => $ params ['relay_cluster ' ],
200
- 'redis_sentinel ' => $ params ['redis_sentinel ' ],
201
- ], fn ($ value ) => $ value === true );
202
-
203
- if (count ($ conflictingOptions ) > 1 ) {
204
- $ keys = implode ('", " ' , array_keys ($ conflictingOptions ));
205
- throw new InvalidArgumentException (sprintf (
206
- 'Cannot use %s at the same time. Please configure only one of "redis_cluster", "relay_cluster", or "redis_sentinel". ' ,
207
- $ keys
208
- ));
195
+ if ($ params ['redis_cluster ' ] && isset ($ params ['redis_sentinel ' ])) {
196
+ throw new InvalidArgumentException ('Cannot use both "redis_cluster" and "redis_sentinel" at the same time. ' );
209
197
}
210
198
211
199
$ class = $ params ['class ' ] ?? match (true ) {
212
- $ params ['redis_cluster ' ] => \extension_loaded ('redis ' ) ? \RedisCluster::class : \Predis \Client::class,
200
+ $ params ['redis_cluster ' ] => match (true ) {
201
+ \extension_loaded ('redis ' ) => \RedisCluster::class,
202
+ \extension_loaded ('relay ' ) => RelayCluster::class,
203
+ default => \Predis \Client::class,
204
+ },
213
205
isset ($ params ['redis_sentinel ' ]) => match (true ) {
214
206
\extension_loaded ('redis ' ) => \Redis::class,
215
207
\extension_loaded ('relay ' ) => Relay::class,
216
208
default => \Predis \Client::class,
217
209
},
218
- $ params [ ' relay_cluster ' ] === false && 1 < \count ($ hosts ) && \extension_loaded ('redis ' ) => \RedisArray::class,
219
- $ params [ ' relay_cluster ' ] === false && \extension_loaded ('redis ' ) => \Redis::class,
220
- \extension_loaded ('relay ' ) => $ params [ ' relay_cluster ' ] === true ? RelayCluster::class : Relay::class,
210
+ 1 < \count ($ hosts ) && \extension_loaded ('redis ' ) => \RedisArray::class,
211
+ \extension_loaded ('redis ' ) => \Redis::class,
212
+ \extension_loaded ('relay ' ) => Relay::class,
221
213
default => \Predis \Client::class,
222
214
};
223
215
0 commit comments