再次研究下cache_lite
程序员文章站
2022-05-14 12:01:20
晚上详细的看了下cache_lite,功能比我想象中的强大的多。当然目前我还没有发现它是否支持直接保存php代码来缓存的功能,不过我想应该是可以扩展实现的。 这里...
晚上详细的看了下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>";
}
?>