Cache_Lite提供了快速,轻便和安全的缓存系统。它针对文件容器进行了优化,并且防止缓存损坏(因为它使用文件锁定和/或散列测试).

    个人感觉还是挺方便的。

Cache_Lite 官方参考地址。

Cache_Lite 缓存包下载地址。

局部缓存:

<?php
    header("content-type:text/html;charset=utf8");
    //引入Cache_Lite缓存类
    require_once('Caches/Cache/Lite.php');
    $options = array(
        'cacheDir' => '/like/',    //设置存放的目录,后面一定要加 /。(此目录要自己创建)
        'lifeTime' => 32           //缓存周期
    );
    $Cache_Lite = new Cache_Lite($options);
    if ($data = $Cache_Lite->get('block1')) {
        echo($data);
        echo "woshi block1 cache";

    } else {
        $data = 'Data of the block 1';
        $Cache_Lite->save($data);
        echo $data."没缓存";

    }
    echo "<br>";

        //测试cache是否存在  并(如果是) 返回它。
    if ($data = $Cache_Lite->get('block3')) {
        echo($data);
        echo "woshi block2 cache";

    } else {
        $data = 'Data of the block 2';
        //保存数据到一个cache 文件。
        $Cache_Lite->save($data);
        echo $data."没缓存";
    }

    //删除缓存可用如下方式:
    //$Cache_Lite->remove('block1');
    //$Cache_Lite->remove('block3');

?>

页面缓存:

<?php
    header("content-type:text/html;charset=utf8");
    //引人缓存文件。
    require_once('Caches/Cache/Lite/Output.php');
    $options = array(
        'cacheDir' => '/like/',     //设置存放的目录,后面一定要加 /。(此目录要自己创建)
        'lifeTime' => 3,             //缓存时长。
);
    //实例化对象。
    $cache = new Cache_Lite_Output($options);
    //测试是否一个cache有效 并(如果有效)返回它输出到浏览器. 否则,激    活输出缓冲.
    if (!($cache->start('isd_of_the_page'))) {
        /**
         * 没有发现cache !
         * 直到遇到end()方法 所有的输出将被缓冲进缓存区。
         * 下次会自动从缓存区取数据。
        */
        //停止由start()方法开始的输出缓冲并且保存输出到一个cache文件
        $cache->end();
    }
?>

函数缓存:

<?php
    header("content-type:text/html;charset=utf8");
    //引入方法缓存类。
    require_once('Caches/Cache/Lite/Function.php');
    $options = array(
        //缓存目录。
        'cacheDir' => '/like/',
        //缓存周期。
        'lifeTime' =>15

    );
    //方法缓存类。
    $cache = new Cache_Lite_Function($options);
    /**
     * 有缓存会直接输出缓存。
     * 没有会将缓存内的输出输出到浏览器并缓冲到缓存。
    */
    $cache->call('functions', 14, 45);
    //定义一个缓存方法。
    function functions($arg1, $arg2)
    {
        //输出内容。
        echo "This is the output of the function_to_bench($arg1, $arg2) !";

    }

    /**
     * 清除函数的缓存。不建议用,报错级别高。
     * 且还需要传递旧值,传递错误直接操作。
     * 可采用清除。
    */
    //$cache->drop('functions', 14 ,45);

?>

清洗缓存:

<?php
    header("content-type:text/html;charset=utf8");
    //引入Cache_Lite缓存类
    require_once('Caches/Cache/Lite.php');
    $options = array(
        'cacheDir' => '/like/',
        'lifeTime' => 32
    );
    $Cache_Lite = new Cache_Lite($options);
    /**
     * 清洗缓存。返回 boor 值
    */
    $Cache_Lite->clean();
?>

超轻便的 Cache_Lite 文件缓存的更多相关文章

  1. PHP文件缓存实现

    有些时候,我们不希望使用redis等第三方缓存,使得系统依赖于其他服务.这时候,文件缓存会是一个不错的选择. 我们需要文件缓存实现哪些共更能: 功能实现:get.set.has.increment.d ...

  2. 高性能文件缓存key-value存储—Redis

    1.高性能文件缓存key-value存储-Memcached 2.ASP.NET HttpRuntime.Cache缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文 ...

  3. [Android]异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3574131.html  这个可以实现ImageView异步加载 ...

  4. php使用文件缓存

    使用php读取mysql中的数据很简单,数据量不大的时候,mysql的性能还是不错的.但是有些查询可能比较耗时,这时可以把查询出的结果,缓存起来,减轻mysql的查询压力. 缓存的方法有几种:使用me ...

  5. 高性能文件缓存key-value存储—Memcached

    1.高性能文件缓存key-value存储—Redis 2.ASP.NET HttpRuntime.Cache缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文章中给出 ...

  6. htaccess 增加静态文件缓存和压缩

    增加图片视频等静态文件缓存: <FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Cont ...

  7. PHP文件缓存与memcached缓存 相比 优缺点是什么呢【总结】

    如果不考虑其他任何问题,只比较速度的话,那肯定是mem快,但他们各有优缺点.文件缓存优点:1.由于现在的硬盘都非常大,所有如果是大数据的时候,放硬盘里就比较合适,比如做一个cms网站,网站里有10万篇 ...

  8. app缓存设计-文件缓存

    采用缓存,可以进一步大大缓解数据交互的压力,又能提供一定的离线浏览.下边我简略列举一下缓存管理的适用环境: 1. 提供网络服务的应用 2. 数据更新不需要实时更新,哪怕是3-5分钟的延迟也是可以采用缓 ...

  9. phalcon: 缓存片段,文件缓存,memcache缓存

    几种缓存,需要用到前端配置,加后端实例配合着用 片段缓存: public function indexAction() { //渲染页面 $this->view->setTemplateA ...

随机推荐

  1. zzuoj--10400--海岛争霸(并查集)

    10400: B.海岛争霸 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 128  Solved: 46 [Submit][Status][Web B ...

  2. oracle rac 巡检过程详解

    一 RAC环境 RAC架构,2节点信息 节点1 SQL> show parameter instance NAME                                 TYPE    ...

  3. react-route4 按需加载配置心得

    本篇文章主要记录笔者项目中使用 react-route + webpack 做路由按需加载的心得,可能只有笔者一个人看,权当日记了.   很久很久以前,react-route还是2.X和3.X版本的时 ...

  4. 关于 jsp java servlet 中文汉字乱码的解决方法

    在servlet类中的get,post最前面加上 req.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding(&quo ...

  5. crontab中使用sudo命令的注意

    在使用crontab执行非root用户定时任务时,有时候shell脚本里需要用到sudo以获得root权限: 如: VIP_CARD=eth0 VIP_ADDR=192.168.4.119 NETMA ...

  6. 用Maven创建第一个web项目Struts2项目

    一.创建一个web项目 参考前面文章,项目名:maven-struts-demo. 二.配置pom.xml文件添加struts2依赖 <project xmlns="http://ma ...

  7. 获取鼠标经过处的标签的标签名和id

    <script> var el = window.document.body; // 声明一个变量,默认值为body window.document.body.onmouseover = ...

  8. luogu P3674 小清新人渣的本愿(莫队+bitset)

    这题是莫队维护bitset. 然而我并不会bitset以前讲过认为不考就没学 我真的太菜了. 首先维护一个权值的bitset--s. 操作3比较简单,我们可以\(\sqrt{x}\)枚举约数然后判断就 ...

  9. 【jQuery05】通过按键 来切换 class

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. oracle和mysql的分页

    如果我们是通过JDBC的方式访问数据库,那么就有必要根据数据库类型采取不同的SQL分页语句,对于MySql数据库,我们可以采用limit语句进行分页,对于Oracle数据库,我们可以采用rownum的 ...