再次研究下cache_lite
2018-09-07 12:48
晚上详细的看了下cache_lite,功能比我想象中的强大的多。当然目前我还没有发现它是否支持直接保存PHP代码来缓存的功能,不过我想应该是可以扩展实现的。
这里有几个例子:
<?
require_once(../libs/cache/Lite.php);
$options=array(
cacheDir=>../cache/test/,
fileLocking=>true,
writeControl=>true,
readControl=>false,
fileNameProtection=>false,//关闭文件名安全模式。cacheid和组名将直接应用到cache文件的文件名,所以要小心使用特殊字符.
automaticSerialization=>false,//关闭自动序列
hashedDirectoryLevel=>2,//设置两级缓存路径
lifeTime=>60
);
$Cache=newCache_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=newCache_Lite_Output($options);
if(!($cache->start(id_of_the_page))){
//没有发现Cache!
echotesttime:.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=newCache_Lite_Function($options);
$cache->call(function_to_bench,12,45);
functionfunction_to_bench($arg1,$arg2)
{
echoThisistheoutputofthefunctionfunction_to_bench($arg1,$arg2)!<br>;
returnThisistheresultofthefunctionfunction_to_bench($arg1,$arg2)!<br>;
}
?>