/**
  * Sets a key's time to live in seconds.
  *
  * @param string $key
  * @param int $seconds
  *
  * @return bool True if the timeout was set, false if the timeout could not be set.
  *
  * @throws \Exception
  */
 public function expire($key, $seconds)
 {
     try {
         $value = $this->get($key);
     } catch (KeyNotFoundException $e) {
         return false;
     }
     return $this->getClient()->replace($key, Util::getDataWithExpire($value, $seconds, time()), $seconds);
 }
 /**
  * @dataProvider kvsProvider
  *
  * @param KeyValueStore $kvs
  * @param MemcachedAdapter $dummyMemchdAdapter
  * @param \Memcached $dummyMemchd
  */
 public function testPersist(KeyValueStore $kvs, MemcachedAdapter $dummyMemchdAdapter, \Memcached $dummyMemchd)
 {
     $dummyMemchd->shouldReceive('get')->with('key-e')->andReturn(Util::getDataWithExpire('value-e', 5, time()));
     $dummyMemchd->shouldReceive('getResultCode')->andReturn(\Memcached::RES_SUCCESS);
     $dummyMemchd->shouldReceive('replace')->andReturn(true);
     $this->assertTrue($kvs->persist('key-e'));
 }
 /**
  * @dataProvider kvsProvider
  *
  * @param KeyValueStore $kvs
  * @param MemcachedAdapter $dummyMemchdAdapter
  * @param \Memcached $dummyMemchd
  */
 public function testGetSerialized(KeyValueStore $kvs, MemcachedAdapter $dummyMemchdAdapter, \Memcached $dummyMemchd)
 {
     $dummyMemchd->shouldReceive('get')->with('key-e')->andReturn(Util::getDataWithExpire('value-e', 5, time()));
     $dummyMemchd->shouldReceive('getResultCode')->andReturn(\Memcached::RES_SUCCESS);
     $this->assertEquals('value-e', $kvs->get('key-e'));
 }
 /**
  * @dataProvider kvsProvider
  *
  * @param KeyValueStore $kvs
  * @param MemcacheAdapter $dummyMemchAdapter
  * @param \Memcache $dummyMemch
  */
 public function testGetSerialized(KeyValueStore $kvs, MemcacheAdapter $dummyMemchAdapter, \Memcache $dummyMemch)
 {
     $dummyMemch->shouldReceive('get')->with('key-e')->andReturn(Util::getDataWithExpire('value-e', 5, time()));
     $this->assertEquals('value-e', $kvs->get('key-e'));
 }
 /**
  * @dataProvider kvsProvider
  *
  * @param KeyValueStore $kvs
  * @param MemcacheAdapter $dummyMemchAdapter
  * @param \Memcache $dummyMemch
  */
 public function testPersist(KeyValueStore $kvs, MemcacheAdapter $dummyMemchAdapter, \Memcache $dummyMemch)
 {
     $dummyMemch->shouldReceive('get')->with('key-e')->andReturn(Util::getDataWithExpire('value-e', 5, time()));
     $dummyMemch->shouldReceive('replace')->andReturn(true);
     $this->assertTrue($kvs->persist('key-e'));
 }