Implements Drupal\Core\Cache\CacheBackendInterface::getMultiple().
Overrides CacheBackendInterface::getMultiple
public function getMultiple(&$cids, $allow_invalid = FALSE) {
$return = array();
foreach ($this->backends as $index => $backend) {
$items = $backend
->getMultiple($cids, $allow_invalid);
// Propagate the values that could be retrieved from the current cache
// backend to all missed backends.
if ($index > 0 && !empty($items)) {
for ($i = $index - 1; 0 <= $i; --$i) {
foreach ($items as $cached) {
$this->backends[$i]
->set($cached->cid, $cached->data, $cached->expire, $cached->tags);
}
}
}
// Append the values to the previously retrieved ones.
$return += $items;
if (empty($cids)) {
// No need to go further if we don't have any cid to fetch left.
break;
}
}
return $return;
}