再次研究下cache_lite

Ingrid ·
更新时间:2024-11-10
· 743 次阅读

晚上详细的看了下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>";
}
?>



cache

需要 登录 后方可回复, 如果你还没有账号请 注册新账号