public function testOutputApcCache() { $ready = $this->_prepareApc(); if (!$ready) { return false; } apc_delete('_PHCAtest-output'); $time = date('H:i:s'); $frontCache = new Phalcon\Cache\Frontend\Output(array('lifetime' => 2)); $cache = new Phalcon\Cache\Backend\Apc($frontCache); ob_start(); //First time cache $content = $cache->start('test-output'); if ($content !== null) { $this->assertTrue(false); } echo $time; $cache->save(null, null, null, true); $obContent = ob_get_contents(); ob_end_clean(); $this->assertEquals($time, $obContent); $this->assertEquals($time, apc_fetch('_PHCAtest-output')); //Expect same cache $content = $cache->start('test-output'); if ($content === null) { $this->assertTrue(false); } $this->assertEquals($content, $obContent); $this->assertEquals($content, apc_fetch('_PHCAtest-output')); //Query keys $keys = $cache->queryKeys(); $this->assertEquals($keys, array(0 => 'test-output')); //Delete entry from cache $this->assertTrue($cache->delete('test-output')); }
public function testDataApcCache() { $ready = $this->_prepareApc(); if (!$ready) { return false; } apc_delete('_PHCAtest-data'); $frontCache = new Phalcon\Cache\Frontend\Data(); $cache = new Phalcon\Cache\Backend\Apc($frontCache); $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"); $this->assertTrue($cache->delete('test-data')); $cache->save('a', 1); $cache->save('long-key', 'long-val'); $cache->save('bcd', 3); $keys = $cache->queryKeys(); sort($keys); $this->assertEquals($keys, array('a', 'bcd', 'long-key')); $this->assertEquals($cache->queryKeys('long'), array('long-key')); $this->assertTrue($cache->delete('a')); $this->assertTrue($cache->delete('long-key')); $this->assertTrue($cache->delete('bcd')); }