You are here

public function DatabaseBackend::invalidateMultiple in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::invalidateMultiple()

Marks cache items as invalid.

Invalid items may be returned in later calls to get(), if the $allow_invalid argument is TRUE.

Parameters

string[] $cids: An array of cache IDs to invalidate.

Overrides CacheBackendInterface::invalidateMultiple

See also

\Drupal\Core\Cache\CacheBackendInterface::deleteMultiple()

\Drupal\Core\Cache\CacheBackendInterface::invalidate()

\Drupal\Core\Cache\CacheBackendInterface::invalidateAll()

1 call to DatabaseBackend::invalidateMultiple()
DatabaseBackend::invalidate in core/lib/Drupal/Core/Cache/DatabaseBackend.php
Marks a cache item as invalid.

File

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

Class

DatabaseBackend
Defines a default cache implementation.

Namespace

Drupal\Core\Cache

Code

public function invalidateMultiple(array $cids) {
  $cids = array_values(array_map([
    $this,
    'normalizeCid',
  ], $cids));
  try {

    // Update in chunks when a large array is passed.
    foreach (array_chunk($cids, 1000) as $cids_chunk) {
      $this->connection
        ->update($this->bin)
        ->fields([
        'expire' => REQUEST_TIME - 1,
      ])
        ->condition('cid', $cids_chunk, 'IN')
        ->execute();
    }
  } catch (\Exception $e) {
    $this
      ->catchException($e);
  }
}