示例#1
0
 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'));
 }
示例#2
0
 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'));
 }