thinkphp缓存使用

一、总结

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

2、缓存的数据可以在thinkphp的runtime下的cache文件夹下面找到

3、用法:可以用Cache类也可以用助手函数,有设置cache,取出cache,删除cache,清空cache等几个常见操作

4、使用场景:我明白对不同用户如果看到的页面是一样的,而数据又是从数据库取得,那么久可以用cache来保存那份数据才减少频繁从数据库中取数据

5、疑惑一:如果数据是对不同用户看到的不一样,用cache怎么解决

6、疑惑二:或者cache存储的数据有变动(原数据被修改了),如果还是从cache中读取数据,那么读取的数据还是修改前的啊,这样就不对了

7、设置cache,直接是键值对的形式,也很好理解

8、取出cache,就是普通的直接取值啊,本质是数组类型的变量

9、删除cache,还是键值对的形式,和设置值一样,只不过值是空值NULL

10、清空cache,Cache类的clear()方法

11、使用cache,先判断有没有相应cache,有怎么操作,没有怎么操作

二、缓存

0、缓存简介

a) 缓存的作用:

减少数据库压力

用户交互比较

b) TP对缓存的支持

支持的缓存类型包括file、memcache、wincache、sqlite、redis和xcache。

c) 缓存设置(C:\AppServ\www\tp5\application\config.php)

'cache' => [

// 驱动方式

'type' => 'File',

// 缓存保存目录

'path' => CACHE_PATH,

// 缓存前缀

'prefix' => '',

// 缓存有效期 0表示永久缓存

'expire' => 0,

],

d) 使用

1、设置缓存

Cache::set(名字,值,时间);

cache(名字,值,时间);

# 返回值 如果设置成功 true

# 如果设置失败 false

2、读取缓存

Cache::get(名字);

cache(名字);

# 返回值 如果获取成功 获取到的数据

# 如果获取失败 false

3、删除缓存

Cache::rm('UserData');

cache('UserData',NULL);

# 返回值 删除成功 true

# 删除失败 false

4、清空缓存

Cache::clear();

# 返回值 清空缓存成功 true 否则 false

5、使用缓存

// 从缓存中获取数据

if ($data=cache('UserData')) {

// 如果数据存在

}else{

// 如果缓存中没有数据

$data=Db::table('User')->select();

cache('UserData',$data,20);

}

thinkphp缓存使用的更多相关文章

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

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

  2. thinkphp 缓存数据

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

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

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

  4. thinkphp缓存

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

  5. ThinkPHP缓存微信公众号access_token

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

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

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

  7. ThinkPHP - 缓存使用

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

  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. 洛谷 P1952 火星上的加法运算_NOI导刊2009提高(3)

    P1952 火星上的加法运算_NOI导刊2009提高(3) 题目描述 最近欢欢看到一本有关火星的书籍,其中她被一个加法运算所困惑,由于她的运算水平有限.她想向你求助,作为一位优秀的程序员,你当然不会拒 ...

  2. Android Studio更改项目SDK的版本

    Elipse 中的安卓项目,在Android Studio中可以通过File -->new -- > Import Project的方法建立起来.但是有时候需要用到更改项目的API Lev ...

  3. Android异步载入全解析之开篇瞎扯淡

    Android异步载入 概述 Android异步载入在Android中使用的很广泛,除了是由于避免在主线程中做网络操作.更是为了避免在显示时由于时间太长而造成ANR,添加显示的流畅性,特别是像List ...

  4. wxWidgets笔记_1_linux环境下wxwidgets的安装与配置

    linux下wxwidgets环境的安装与配置 一.建立目标文件夹(自己定义) mkdir /opt/SCOTT 二.安装wxWidgets 1.wxWidgets版本号能够选用wxGTK-2.8.1 ...

  5. session和cookie详解

    摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一 技术.本文将详细讨论session的工作机制并且对在Java ...

  6. Sub Thread to update main Thread (UI)

    Sub Thread to update main Thread (UI) main Thread :   A  has Hander.HandleMessage() to process the & ...

  7. nodeType 节点的类型

    元素结点 1 属性结点 2 attributes 文本结点 3 注释结点   8 document结点 9 documentFragment 11 文档碎片

  8. pythong中的全局变量的调用和嵌套函数中变量的使用

    全局变量调用:想要在自定义的函数中使用全局变量,就得要在函数用关键字global声明,然后就可以对全局变量进行修改.嵌套函数中的变量的调用:要在嵌套的变量中,使用nonlocal的声明'''num = ...

  9. 破解root用户密码 -rwx权限

    破解root用户密码(本地登录) 1.光驱要放入系统光盘 2.重启os 3.修改启动菜单进入1运行级别 4.设置新密码 5.重启os linux的运行级别(默认3或5): 查看默认的运行级别 cat ...

  10. Mysql学习总结(5)——MySql常用函数大全讲解

    MySQL数据库中提供了很丰富的函数.MySQL函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操作.例如,字符串连接函数 ...