public function DatabaseBackend::setMultiple in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::setMultiple()
Store multiple items in the persistent cache.
Parameters
array $items: An array of cache items, keyed by cid. In the form:
$items = array(
$cid => array(
// Required, will be automatically serialized if not a string.
'data' => $data,
// Optional, defaults to CacheBackendInterface::CACHE_PERMANENT.
'expire' => CacheBackendInterface::CACHE_PERMANENT,
// (optional) The cache tags for this item, see CacheBackendInterface::set().
'tags' => array(),
),
);
Overrides CacheBackendInterface::setMultiple
1 call to DatabaseBackend::setMultiple()
- DatabaseBackend::set in core/
lib/ Drupal/ Core/ Cache/ DatabaseBackend.php - Stores data in the persistent cache.
File
- core/
lib/ Drupal/ Core/ Cache/ DatabaseBackend.php, line 165 - Contains \Drupal\Core\Cache\DatabaseBackend.
Class
- DatabaseBackend
- Defines a default cache implementation.
Namespace
Drupal\Core\CacheCode
public function setMultiple(array $items) {
$try_again = FALSE;
try {
// The bin might not yet exist.
$this
->doSetMultiple($items);
} catch (\Exception $e) {
// If there was an exception, try to create the bins.
if (!($try_again = $this
->ensureBinExists())) {
// If the exception happened for other reason than the missing bin
// table, propagate the exception.
throw $e;
}
}
// Now that the bin has been created, try again if necessary.
if ($try_again) {
$this
->doSetMultiple($items);
}
}