thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法,使用示例如下:
复制代码 代码如下:
// 使用data标识缓存$Data数据
S('data',$Data); //前面的是缓存标示,后面的是缓存的数据
S('data',$Data); //前面的是缓存标示,后面的是缓存的数据
复制代码 代码如下:
// 缓存$Data数据3600秒
S('data',$Data,3600);
S('data',$Data,3600);
复制代码 代码如下:
// 删除缓存数据
S('data',NULL); //第一个参数时缓存的标识名
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); //删除缓存
// 判断是否有这个查询缓存
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); //删除缓存
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。