示例#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'));
 }
<?php

//Cache data for 2 days
$frontCache = new Phalcon\Cache\Frontend\Data(array('lifetime' => 172800));
$cache = new Phalcon\Cache\Backend\Apc($frontCache, array('prefix' => 'app-data'));
//Cache arbitrary data
$cache->save('my-data', array(1, 2, 3, 4, 5));
//Get data
$data = $cache->get('my-data');
示例#4
0
 public function testCacheApcFlush()
 {
     $frontCache = new Phalcon\Cache\Frontend\Data(array('lifetime' => 10));
     // Apc
     $ready = $this->_prepareApc();
     if (!$ready) {
         return false;
     }
     $cache = new Phalcon\Cache\Backend\Apc($frontCache);
     $data = array(1, 2, 3, 4, 5);
     $cache->save('data', "1");
     $cache->save('data2', "2");
     $this->assertTrue($cache->flush());
     $this->assertFalse($cache->exists('data'));
     $this->assertFalse($cache->exists('data2'));
 }