再次研究下cache_lite
晚上详细的看了下cache_lite,功能比我想象中的强大的多。当然目前我还没有发现它是否支持直接保存PHP代码来缓存的功能,不过我想应该是可以扩展实现的。
这里有几个例子:
<?require_once('../libs/cache/Lite.php');$options = array( 'cacheDir' => '../cache/test/', 'fileLocking' =>true, 'writeControl'=>true, 'readControl'=>false, 'fileNameProtection'=>false,//关闭文件名安全模式。cache id和组名将直接应用到 cache文件的文件名,所以要小心使用特殊字符. 'automaticSerialization'=>false,//关闭自动序列 'hashedDirectoryLevel'=>2,//设置两级缓存路径 'lifeTime' => 60);$Cache = new Cache_Lite($options);$id='test'; if($data=$Cache->get($id,'test')){ echo $data; }else{ $data=time(); $Cache->save($data); echo $data; }?>
对输出进行缓存
<?require_once('../libs/cache/Lite.php'); require_once('../libs/cache/Lite/output.php');$options = array( 'cacheDir' => '../cache/test/', 'lifeTime' => 60, 'pearErrorMode' => CACHE_LITE_ERROR_DIE);$cache =new Cache_Lite_Output($options); if (!($cache->start('id_of_the_page'))) { // 没有发现Cache ! echo 'test time:'.time().'<br>test<br>'; $cache->end(); // 缓冲的输出现在被存储到一个cache文件中 }?>
对函数进行缓存
<?require_once('../libs/cache/Lite.php'); require_once('../libs/cache/Lite/Function.php');$options = array( 'cacheDir' => '../cache/test/', 'lifeTime' => 3600, 'pearErrorMode' => CACHE_LITE_ERROR_DIE);$cache = new Cache_Lite_Function($options);$cache->call('function_to_bench', 12, 45); function function_to_bench($arg1, $arg2) { echo "This is the output of the function function_to_bench($arg1, $arg2) !<br>"; return "This is the result of the function function_to_bench($arg1, $arg2) !<br>"; }?>