用法:
需要使用不同的缓存方式的时候 需要重新初始化,如果不初始化直接调用的话,则会按照系统配置自动初始化。
初始化的返回值,可以直接操作缓存:
- $cache = cache(array('type'=>'xcache','expire'=>60));
- $cache->set('name',$value);
- $cache->get('name');
- $cache->rm('name');
或者
- $cache = cache(array('type'=>'xcache','expire'=>60));
- $cache->name = $value;
- echo $cache->name;
- 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(); }