找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 980|回复: 0
打印 上一主题 下一主题

再次研究下cache_lite

[复制链接]

3444

主题

3465

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11142
跳转到指定楼层
楼主
发表于 2018-2-14 09:25:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            晚上详细的看了下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().'
test
';
    $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) !
";
    return "This is the result of the function function_to_bench($arg1, $arg2) !
";
}
?>
            
            
        
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端