ThinkPHP - 缓存使用

时间:2020-12-01 07:09:32

用法:

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

  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();
}