You are here

protected function MongoDBCache::doSave in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php \Doctrine\Common\Cache\MongoDBCache::doSave()

Puts data into the cache.

Parameters

string $id The cache id.:

string $data The cache entry/data.:

int $lifeTime The lifetime. If != 0, sets a specific lifetime for this: cache entry (0 => infinite lifeTime).

Return value

boolean TRUE if the entry was successfully stored in the cache, FALSE otherwise.

Overrides CacheProvider::doSave

File

vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php, line 120

Class

MongoDBCache
MongoDB cache provider.

Namespace

Doctrine\Common\Cache

Code

protected function doSave($id, $data, $lifeTime = 0) {
  $result = $this->collection
    ->update(array(
    '_id' => $id,
  ), array(
    '$set' => array(
      self::EXPIRATION_FIELD => $lifeTime > 0 ? new MongoDate(time() + $lifeTime) : null,
      self::DATA_FIELD => new MongoBinData(serialize($data), MongoBinData::BYTE_ARRAY),
    ),
  ), array(
    'upsert' => true,
    'multiple' => false,
  ));
  return isset($result['ok']) ? $result['ok'] == 1 : true;
}