protected function DatabaseBackend::doSet

Actually set the cache.

1 call to DatabaseBackend::doSet()

File

drupal/core/lib/Drupal/Core/Cache/DatabaseBackend.php, line 166
Definition of Drupal\Core\Cache\DatabaseBackend.

Class

DatabaseBackend
Defines a default cache implementation.

Namespace

Drupal\Core\Cache

Code

protected function doSet($cid, $data, $expire, $tags) {
  $flat_tags = $this
    ->flattenTags($tags);
  $checksum = $this
    ->checksumTags($flat_tags);
  $fields = array(
    'serialized' => 0,
    'created' => REQUEST_TIME,
    'expire' => $expire,
    'tags' => implode(' ', $flat_tags),
    'checksum_invalidations' => $checksum['invalidations'],
    'checksum_deletions' => $checksum['deletions'],
  );
  if (!is_string($data)) {
    $fields['data'] = serialize($data);
    $fields['serialized'] = 1;
  }
  else {
    $fields['data'] = $data;
    $fields['serialized'] = 0;
  }
  $this->connection
    ->merge($this->bin)
    ->key(array(
    'cid' => $cid,
  ))
    ->fields($fields)
    ->execute();
}