ThinkPHP缓存方法S()概述_php实例

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); //删除缓存

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

时间: 2024-11-17 05:53:45

ThinkPHP缓存方法S()概述_php实例的相关文章

thinkphp缓存技术详解_php实例

本文详细分析了thinkphp的缓存技术.分享给大家供大家参考.具体分析如下: 如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数据库存取层,如果没有缓存层,访问层是直接从数据库存取层读取数据,而设置缓存后,访问层不再是直接在数据库存取层读取,而是从缓存层读取数据. 我们做个简单的对比,假设一个页面,在一个小时可被访问100万次,如果这个页面每次被

thinkphp特殊标签用法概述_php实例

本文实例讲述了ThinkPHP特殊标签用法.分享给大家供大家参考.具体分析如下: 特殊标签: 1.比较标签 eq或者 equal 等于 neq 或者notequal 不等于 gt 大于 egt 大于等于 lt 小于 elt 小于等于 heq 恒等于 nheq 不恒等于 2.范围标签 in 复制代码 代码如下: <in name='n' value='9,10,11,12'>在这些数字里面<else/>不在这些数字的范围内</in> <notin name='n'

smarty模板局部缓存方法使用示例_php实例

在开启smarty缓存的情况下,第一次执行时会将其编译好的输出文件保存到cache目录中,然后在程序中通过smarty的is_cache()函数检测其 cache文件是否过期,如果过期会更新缓存,如果没有过期会自动调用cache文件,这样就省去了编译的过程.检测cache过期是看模板文件是否在指定的生命周期内是否更改,这里的更改是通过检测文件的最近修改时间实现的,不是通过检测模板文件内容. 防止一个模板文件的整篇都被缓存: index.php文件: 复制代码 代码如下: require('sma

ThinkPHP实例化模型的四种方法概述_php实例

本文讲述了ThinkPHP实例化模型的四种方法,对于ThinkPHP程序设计来说有非常重要的应用.具体如下: 1.创建一个基础模型:实例化一个系统自带的数据库操作类    Test.Model.class.php页面代码如下: class TestModel extends Model{ }    UserAction.class.php页面代码如下: function test(){ $test=M('test');//表示实例化的是自带的Model类,并且传入test值表示操作的是test表

ThinkPHP CURD方法之table方法详解_php实例

ThinkPHP CURD方法的table方法也属于模型类的连贯操作方法之一,该方法主要用于指定操作的数据表. 具体用法如下: 一般情况下,操作模型的时候系统能够自动识别当前对应的数据表,所以,使用table方法的情况通常是为了: 1.切换操作的数据表: 2.对多表进行操作: 例如: $Model->table('think_user')->where('status>1')->select(); 也可以在table方法中指定数据库,例如: $Model->table('db

ThinkPHP中where()使用方法详解_php实例

本文介绍ThinkPHP的where()方法的用法.where方法可以用于对数据库操作的结果进行筛选.即SQL查询语句中的where子句. 今天来给大家讲下查询最常用但也是最复杂的where方法,where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置. where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法的参数支持字符串和数组,虽

ThinkPHP CURD方法之field方法详解_php实例

ThinkPHP CURD方法的field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作. 1.用于查询 在查询操作中field方法是使用最频繁的. $Model->field('id,title,content')->select(); 这里使用field方法指定了查询的结果集中包含id,title,content三个字段的值.执行的SQL相当于: SELECT id,title,content FROM table 当然,除了select方法之外

ThinkPHP中order()使用方法详解_php实例

本文介绍ThinkPHP的order()方法的用法.order方法可以用于对数据库操作的结果进行排序.即相当于是在select语句中一个order by的子句. order方法属于模型的连贯操作方法之一,用于对数据库操作的结果进行排序.即相当于是在select语句中一个order by的子句. 用法 $Model->where('status=1')->order('id desc')->limit(5)->select(); 注意:连贯操作方法没有顺序,可以在select方法调用

ThinkPHP中limit()使用方法详解_php实例

本文介绍ThinkPHP的limit()方法的用法.limit方法可以用于对数据库操作的结果进行取指定范围的条数.即相当于是在mysql查询语句中的limit子句. limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多.ThinkPHP的l imit方法可以兼容所有的数据库驱动类的. 用法一.限制结果数量 例如获取满足要求的10个用户,如下调用即可: $User = M('User'); $User->where('status=1')->fi