public function testDataLibmemcachedCache()
{
$memcache = $this->_prepareLibmemcached();
if (!$memcache) {
return false;
}
$memcache->delete('test-data');
// Travis can be slow, especially when Valgrind is used
$frontCache = new Phalcon\Cache\Frontend\Data(array('lifetime' => 900));
$cache = new Phalcon\Cache\Backend\Libmemcached($frontCache, array('servers' => array(array('host' => '127.0.0.1', 'port' => '11211', 'weight' => '1')), 'statsKey' => '_PHCM'));
$keys = $cache->queryKeys();
foreach ((array) $keys as $key) {
$cache->delete($key);
}
$data = array(1, 2, 3, 4, 5);
$cache->save('test-data', $data);
$cachedContent = $cache->get('test-data');
$this->assertEquals($cachedContent, $data);
$cache->save('test-data', "sure, nothing interesting");
$cachedContent = $cache->get('test-data');
$this->assertEquals($cachedContent, "sure, nothing interesting");
$actual = $cache->queryKeys();
$this->assertEquals($actual, array(0 => 'test-data'));
//Check if exists
$this->assertTrue($cache->exists('test-data'));
//Delete
$this->assertTrue($cache->delete('test-data'));
$memcache->quit();
}