ThinkPHP - 缓存使用

用法:

需要使用不同的缓存方式的时候 需要重新初始化,如果不初始化直接调用的话,则会按照系统配置自动初始化。
初始化的返回值,可以直接操作缓存:

  1. $cache = cache(array('type'=>'xcache','expire'=>60));
  2. $cache->set('name',$value);
  3. $cache->get('name');
  4. $cache->rm('name');

或者

  1. $cache = cache(array('type'=>'xcache','expire'=>60));
  2. $cache->name = $value;
  3. echo $cache->name;
  4. unset($cache->name);

 

 

实例代码:

Public function index() {
    //初始化缓存
    $cache = cache(array('expire'=>10));

    //判断缓存是否存在
    if ( !$list = $cache->get('cate_list') ) {
        //获取所有父类分类
        $FaCate = M('Cate')->where(array('pid'=>0))->order('sort')->select();

        //获取所有分类
        $allCate = M('Cate')->order('sort')->select();

        // 引入分类类文件
        import('Class.Category', APP_PATH);

        $db = M('Blog');
        $field = array('id', 'title', 'time');//取出的字段
        foreach ($FaCate as $key => $value) {
            //根据父类id,获取子类id
            $cids = Category::getChildsId($allCate, $value['id']);
            //连同父类id一起放入数组,输出的结果是,父类id以及其下的所有子类id
            $cids[] = $value['id'];

            //根据查询出的id,查找博文表blog,获取博文数据,将博文数据放入Facate数组中的blog子数组中。
            $whe = array('cid'=>array('IN', $cids));//博文表中的查询条件,cid IN ('', '', '')
            //将查询除的数据放入blog数组中
            $FaCate[$key]['blog'] = $db->field($field)->where($whe)->select();//不能进行排序
        }

        //加载数据后,将数据放入缓存
        $cache->set('cate_list', $FaCate);
    }
    
    //获取缓存数据,并注入页面
    $this->cate = $cache->get('cate_list');

    $this->display();
}

 

posted on 2016-02-20 14:38  ultrastrong  阅读(1165)  评论(0编辑  收藏  举报