再次研究下cache_lite
author:一佰互联 2019-05-01   click:161
晚上详细的看了下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"1245); 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>";
}
?>