11
11
12
12
namespace Symfony \Component \VarDumper \Caster ;
13
13
14
+ use Relay \Relay ;
14
15
use Symfony \Component \VarDumper \Cloner \Stub ;
15
16
16
17
/**
23
24
class RedisCaster
24
25
{
25
26
private const SERIALIZERS = [
26
- \Redis:: SERIALIZER_NONE => 'NONE ' ,
27
- \Redis:: SERIALIZER_PHP => 'PHP ' ,
27
+ 0 => 'NONE ' , // Redis::SERIALIZER_NONE
28
+ 1 => 'PHP ' , // Redis::SERIALIZER_PHP
28
29
2 => 'IGBINARY ' , // Optional Redis::SERIALIZER_IGBINARY
29
30
];
30
31
31
32
private const MODES = [
32
- \Redis:: ATOMIC => 'ATOMIC ' ,
33
- \Redis:: MULTI => 'MULTI ' ,
34
- \Redis:: PIPELINE => 'PIPELINE ' ,
33
+ 0 => 'ATOMIC ' , // Redis::ATOMIC
34
+ 1 => 'MULTI ' , // Redis::MULTI
35
+ 2 => 'PIPELINE ' , // Redis::PIPELINE
35
36
];
36
37
37
38
private const COMPRESSION_MODES = [
@@ -46,7 +47,7 @@ class RedisCaster
46
47
\RedisCluster::FAILOVER_DISTRIBUTE_SLAVES => 'DISTRIBUTE_SLAVES ' ,
47
48
];
48
49
49
- public static function castRedis (\Redis $ c , array $ a , Stub $ stub , bool $ isNested )
50
+ public static function castRedis (\Redis | Relay $ c , array $ a , Stub $ stub , bool $ isNested )
50
51
{
51
52
$ prefix = Caster::PREFIX_VIRTUAL ;
52
53
@@ -102,9 +103,9 @@ public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub,
102
103
return $ a ;
103
104
}
104
105
105
- private static function getRedisOptions (\Redis |\RedisArray |\RedisCluster $ redis , array $ options = []): EnumStub
106
+ private static function getRedisOptions (\Redis |Relay | \RedisArray |\RedisCluster $ redis , array $ options = []): EnumStub
106
107
{
107
- $ serializer = $ redis ->getOption (\Redis::OPT_SERIALIZER );
108
+ $ serializer = $ redis ->getOption (\defined ( ' Redis::OPT_SERIALIZER ' ) ? \Redis:: OPT_SERIALIZER : 1 );
108
109
if (\is_array ($ serializer )) {
109
110
foreach ($ serializer as &$ v ) {
110
111
if (isset (self ::SERIALIZERS [$ v ])) {
@@ -137,10 +138,10 @@ private static function getRedisOptions(\Redis|\RedisArray|\RedisCluster $redis,
137
138
138
139
$ options += [
139
140
'TCP_KEEPALIVE ' => \defined ('Redis::OPT_TCP_KEEPALIVE ' ) ? $ redis ->getOption (\Redis::OPT_TCP_KEEPALIVE ) : 0 ,
140
- 'READ_TIMEOUT ' => $ redis ->getOption (\Redis::OPT_READ_TIMEOUT ),
141
+ 'READ_TIMEOUT ' => $ redis ->getOption (\defined ( ' Redis::OPT_READ_TIMEOUT ' ) ? \Redis:: OPT_READ_TIMEOUT : 3 ),
141
142
'COMPRESSION ' => $ compression ,
142
143
'SERIALIZER ' => $ serializer ,
143
- 'PREFIX ' => $ redis ->getOption (\Redis::OPT_PREFIX ),
144
+ 'PREFIX ' => $ redis ->getOption (\defined ( ' Redis::OPT_PREFIX ' ) ? \Redis:: OPT_PREFIX : 2 ),
144
145
'SCAN ' => $ retry ,
145
146
];
146
147
0 commit comments