You are here

public function DatabaseBackend::invalidateMultiple in Drupal 10

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

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