用法:

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

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

ThinkPHP - 缓存使用的更多相关文章

  1. ThinkPHP 缓存技术详解 使用大S方法

    如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...

  2. thinkphp缓存使用

    thinkphp缓存使用 一.总结 1.这里的缓存不是指的缓存的页面,而是cache,如果你缓存了一个数组,那么你就可以取出这个数组里面的数据进行使用,用法性质和cookie和session有点像 2 ...

  3. thinkphp 缓存数据

    thinkphp 中内置了缓存操作 3.1版本的数据缓存方法是cache 基本用法: S(array('type'=>'xcache','expire'=>60)); 缓存初始化 缓存初始 ...

  4. 修改ThinkPHP缓存为Memcache的方法

    一般来说,ThinkPHP的默认缓存方式是以File文件方式实现的,运行时会在/Runtime/Temp 下生成很多的缓存文件. 有的情况下服务器装了memcached之后,需要将ThinkPHP的缓 ...

  5. thinkphp缓存

    最简答的缓存 // 缓存设置 public function ff(){ S('); } // 缓存读取 public function aa(){ $value = S('name'); echo ...

  6. ThinkPHP缓存微信公众号access_token

    access_token作为微信的全局票据,在高级接口中需要频繁调用,其有效期为7200秒,即2小时,而微信官方对调用Token的次数有限制(参见接口频率限制说明),获取access_token每日限 ...

  7. Thinkphp 缓存微信jssdk相关认证参数

    public function getapiSignature() {  $access_token=S('access_token');  //先查询缓存中是否存在  if($access_toke ...

  8. Thinkphp 缓存和静态缓存局部缓存设置

    1.S方法缓存设置 if(!$rows = S('indexBlog')){ //*$rows = S('indexBlog') $rows = D('blog')->select(); S(' ...

  9. thinkphp 缓存驱动

    缓存驱动默认位于Think\Cache\Driver命名空间下面,目前已经提供了包括APC.Db.Memcache.Shmop.Sqlite.Redis.Eaccelerator和Xcache缓存方式 ...

随机推荐

  1. hibernate -inverse

    one to many inverse=false只能设置维护关联关系的多的一方, inverse属性: 默认为false,表示本方维护关联关系. 如果为true,表示本方不维护关联关系(并不意味着对 ...

  2. 不直接用NSLog

    公司中不直接使用NSLog,而是利用宏定义自己的打印函数,将该打印函数写在项目的.pch文件中.调试的时候往往用到好多打印,但发布的时候确不需要.(一下是在公司中的一些处理) 自定义NSLog 一,固 ...

  3. 循环获取<ul>下拉列表的的值。进行对比,正确的家样式

    $(function () { //要对比的值     var mysqlanswer = $("#wds-mysqlcuranswer").val(); // topic-opt ...

  4. 关于CDH5.2+ 添加hive自定义UDAF函数的方法

  5. Java format 简单应用

    一.前言 String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", " ...

  6. C#中小函数的应用

    今天看到的一段函数 StringBuilder sb = new StringBuilder("sselect * from table where 1=1"); if(TextB ...

  7. First AngularJS !

    My first angular! <html ng-app> <head> <meta charset="utf-8"> <script ...

  8. angularjs学习总结(快速预览版)

    对html标签的增强 -> 指令 指令的本质是什么 声明的方式调用相应的脚本,实现一些操作,声明的所在的dom就是脚本的执行上下文? 自定义标签 -- 标签指令自定义属性 -- 属性指令特定格式 ...

  9. C#使用WinAPI 修改电源设置,临时禁止笔记本合上盖子时睡眠

    原文 http://www.cnblogs.com/h46incon/archive/2013/09/03/3299138.html 在 阻止系统自动睡眠的小软件,附C#制作过程 ,弄了一个防止系统睡 ...

  10. viewpager的layout_width="wrap_content"无效问题

    在viewpager当中直接使用layout_width="wrap_content"是无效的,扩展了一下.解决这个问题. package com.soulagou.ui; imp ...