public function BackendChain::getMultiple in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Cache/BackendChain.php \Drupal\Core\Cache\BackendChain::getMultiple()
- 9 core/lib/Drupal/Core/Cache/BackendChain.php \Drupal\Core\Cache\BackendChain::getMultiple()
File
- core/lib/Drupal/Core/Cache/BackendChain.php, line 85
Class
- BackendChain
- Defines a chained cache implementation for combining multiple cache backends.
Namespace
Drupal\Core\Cache
Code
public function getMultiple(&$cids, $allow_invalid = FALSE) {
$return = [];
foreach ($this->backends as $index => $backend) {
$items = $backend
->getMultiple($cids, $allow_invalid);
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);
}
}
}
$return += $items;
if (empty($cids)) {
break;
}
}
return $return;
}