public function freeze()
{
if ($this->isFrozen()) {
throw new \RuntimeException(sprintf('Cannot add or modify cache entry because the backend of cache "%s" is frozen.', $this->cacheIdentifier), 1323344192);
}
do {
$entriesKey = $this->buildKey('entries');
$this->redis->watch($entriesKey);
$entries = $this->redis->lRange($entriesKey, 0, -1);
$this->redis->multi();
foreach ($entries as $entryIdentifier) {
$this->redis->persist($this->buildKey('entry:' . $entryIdentifier));
}
$this->redis->set($this->buildKey('frozen'), 1);
$result = $this->redis->exec();
} while ($result === false);
$this->frozen = true;
}