public function DatabaseBackend::setMultiple

public DatabaseBackend::setMultiple(array $items)

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

File

core/lib/Drupal/Core/Cache/DatabaseBackend.php, line 160

Class

DatabaseBackend
Defines a default cache implementation.

Namespace

Drupal\Core\Cache

Code

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);
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Cache!DatabaseBackend.php/function/DatabaseBackend::setMultiple/8.1.x