再次研究下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>"; }?>