ThinkPHP缓存方法S()概述

  thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法,使用示例如下:

  

复制代码 代码如下:
// 使用data标识缓存$Data数据

  S('data',$Data);  //前面的是缓存标示,后面的是缓存的数据

  

复制代码 代码如下:
// 缓存$Data数据3600秒

  S('data',$Data,3600);

  

复制代码 代码如下:
// 删除缓存数据

  S('data',NULL);  //第一个参数时缓存的标识名

  

复制代码 代码如下:
$cache=S($cachename);//设置缓存标示

  // 判断是否有这个查询缓存

  if(!$cache){  //$cache 中是缓存的标示(每个查询都对应一个缓存 即 不同的查询有不同的缓存)

  $cache=$video->where($map)->order($order)->limit($limit)->select();

  foreach($cache as $key=>$value){

  $userlist=$user->where("id=".$value['user_id'])->find();

  $cache[$key]["nickname"]=$userlist['nickname'];

  }

  S($cachename,$cache,3600); //设置缓存的生存时间

  }

  S($cachename,NULL); //删除缓存