Example #1
0
 /**
  * {@inheritdoc}
  */
 public function set(array $keys, $data, $ttl = CacheElement::DAY, array $contextualKeys = array())
 {
     $time = time();
     $cacheElement = new CacheElement($keys, $data, $ttl, $contextualKeys);
     $keys = $cacheElement->getContextualKeys() + $cacheElement->getKeys();
     $keys['_value'] = new \MongoBinData(serialize($cacheElement), \MongoBinData::BYTE_ARRAY);
     $keys['_updated_at'] = $time;
     $keys['_timeout'] = $time + $cacheElement->getTtl();
     $this->getCollection()->save($keys);
     return $cacheElement;
 }
 public function testContextual()
 {
     $cacheKeys = array('block_id' => '1');
     $cache = new CacheElement($cacheKeys, 'data', CacheElement::DAY, array('foo' => 'bar'));
     $this->assertEquals(array('foo' => 'bar'), $cache->getContextualKeys());
 }