throw new InvalidArgumentException(sprintf('redis compression must be disabled when using "%s", use "%s" instead.',
static::
class, DeflateMarshaller::
class));
} } } $this->
init($redis,
$namespace,
$defaultLifetime,
new TagAwareMarshaller($marshaller));
$this->namespace =
$namespace;
} protected function doSave(array
$values, int
$lifetime, array
$addTagData =
[], array
$delTagData =
[]): array
{ $eviction =
$this->
getRedisEvictionPolicy();
if ('noeviction' !==
$eviction && !
str_starts_with($eviction, 'volatile-'
)) { throw new LogicException(sprintf('Redis maxmemory-policy setting "%s" is *not* supported by RedisTagAwareAdapter, use "noeviction" or "volatile-*" eviction policies.',
$eviction));
} // serialize values
if (!
$serialized =
$this->marshaller->
marshall($values,
$failed)) { return $failed;
} // While pipeline isn't supported on RedisCluster, other setups will at least benefit from doing this in one op
$results =
$this->
pipeline(static function D
) use ($serialized,
$lifetime,
$addTagData,
$delTagData,
$failed) {