function DrupalDatabaseCache::set

DrupalDatabaseCache::set($cid, $data, $expire = CACHE_PERMANENT)

Implements DrupalCacheInterface::set().

Overrides DrupalCacheInterface::set

File

includes/cache.inc, line 448
Functions and interfaces for cache handling.

Class

DrupalDatabaseCache
Defines a default cache implementation.

Code

function set($cid, $data, $expire = CACHE_PERMANENT) {
  $fields = array(
    'serialized' => 0,
    'created' => REQUEST_TIME,
    'expire' => $expire,
  );
  if (!is_string($data)) {
    $fields['data'] = serialize($data);
    $fields['serialized'] = 1;
  }
  else {
    $fields['data'] = $data;
    $fields['serialized'] = 0;
  }

  try {
    db_merge($this->bin)
      ->key(array('cid' => $cid))
      ->fields($fields)
      ->execute();
  }
  catch (Exception $e) {
    // The database may not be available, so we'll ignore cache_set requests.
  }
}

© 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/includes!cache.inc/function/DrupalDatabaseCache::set/7.x