简要介绍ThinkPHP数据缓存的核心

学习笔记 马富天 2016-04-20 19:32:36 77 0

【摘要】今天突然感觉自己博客的加载速度并非很快,反而感觉有点缓慢,所以就给几个重要模块做了一些缓存,以加快博客的访问速度。

ThinkPHP中,有一个数据缓存,使用起来很简单,一般情况之下是不需要直接操作缓存类的,系统中内置了对缓存类的封装,就可以直接使用S方法。我这里仅仅介绍一下ThinkPHP的S方法的核心。缓存,顾名思义,就是当用户第一次访问页面时,页面中的数据是从数据库中读取出来显示在页面上的,并把数据存起来,当下一个用户再次访问该页面的时候,不需要再次访问数据库,而是直接把第一个用户访问时存的数据取出来就可以,这样做的好处很多,例如当同时有大量用户访问页面的时候,会对数据库造成一定的压力,导致数据库可能承受不住,另外就是加快了页面的加载速度,数据不需要通过数据库,而是直接读取了存在缓存中的数据。有一个不足之处就是当数据发送变化的时候,用户读取到的数据不一定是更新之后的数据,一定情况下会使得用户获取的不是最新的数据。

S方法处理缓存,其实很简单,情况下面的代码:

  1. // 缓存数据3600秒
  2. $str = "This is my cache";
  3. S('a',$str,3600);
  4. // 读取缓存
  5. $cache=S('a');
  6. echo $cache;
  7. // 删除缓存
  8. S('a',null);

S方法就是三个步骤:1.设置缓存,给缓存赋值 2.读取缓存,直接用S()里面加变量的名称即可 3.删除缓存,即跟缓存的赋值差不多,就是将null赋值给缓存变量即可。

下面是一个完整的示例:

  1. // 先判断是否存在缓存
  2. $cache = S('cache');
  3. if(!$cache){
  4.    $arr = array(1,2,3,4); // 假设这是从数据库中读取出来的数据
  5.    S('cache',$arr,3600); // 将$arr赋值给缓存变量cache,并保存3600秒
  6. }
  7. // 删除缓存一般是在其它页面上操作,不会出现在查询页面的

版权归 马富天PHP博客 所有

本文标题:《简要介绍ThinkPHP数据缓存的核心》

本文链接地址:http://www.mafutian.net/47.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 PHP开发过程中提高编程效率的24招 》 下一篇《 浅谈favicon.ico,网站头像 》
分享到:

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多