thinkphp缓存使用
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缓存使用的更多相关文章
- ThinkPHP 缓存技术详解 使用大S方法
如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...
- thinkphp 缓存数据
thinkphp 中内置了缓存操作 3.1版本的数据缓存方法是cache 基本用法: S(array('type'=>'xcache','expire'=>60)); 缓存初始化 缓存初始 ...
- 修改ThinkPHP缓存为Memcache的方法
一般来说,ThinkPHP的默认缓存方式是以File文件方式实现的,运行时会在/Runtime/Temp 下生成很多的缓存文件. 有的情况下服务器装了memcached之后,需要将ThinkPHP的缓 ...
- thinkphp缓存
最简答的缓存 // 缓存设置 public function ff(){ S('); } // 缓存读取 public function aa(){ $value = S('name'); echo ...
- ThinkPHP缓存微信公众号access_token
access_token作为微信的全局票据,在高级接口中需要频繁调用,其有效期为7200秒,即2小时,而微信官方对调用Token的次数有限制(参见接口频率限制说明),获取access_token每日限 ...
- Thinkphp 缓存微信jssdk相关认证参数
public function getapiSignature() { $access_token=S('access_token'); //先查询缓存中是否存在 if($access_toke ...
- ThinkPHP - 缓存使用
用法: 需要使用不同的缓存方式的时候 需要重新初始化,如果不初始化直接调用的话,则会按照系统配置自动初始化.初始化的返回值,可以直接操作缓存: $cache = cache(array('type'= ...
- Thinkphp 缓存和静态缓存局部缓存设置
1.S方法缓存设置 if(!$rows = S('indexBlog')){ //*$rows = S('indexBlog') $rows = D('blog')->select(); S(' ...
- thinkphp 缓存驱动
缓存驱动默认位于Think\Cache\Driver命名空间下面,目前已经提供了包括APC.Db.Memcache.Shmop.Sqlite.Redis.Eaccelerator和Xcache缓存方式 ...
随机推荐
- 【Round #36 (Div. 2 only) C】Socks Pairs
[题目链接]:https://csacademy.com/contest/round-36/task/socks-pairs/ [题意] 给你n种颜色的袜子,每种颜色颜色的袜子有ai只; 假设你在取袜 ...
- (iOS)确保设置话筒模式成功 AudioSessionSetProperty
本人编写过一个应用,须要把实时音频播放出来,而且要从话筒播放声音,为此,作下面操作: //Step 1: 初始化 AudioSessionInitialize(NULL,NULL, NULL, sel ...
- 特定位取反(js实现)
去华为面试的时候.没有做好准备工作.面试的流程没有问清也没有查,结果一过去就让上机做题,着实有点措手不及.笔者是擅长前端的Java Webproject师啊,主要的底层编程知识早已生疏了.机试题碰到了 ...
- 彻底解决lazarus安装组件后烦人的编译时单元找不到的问题!
以安装indy为例 1/下载组件包, http://www.indyproject.org/Sockets/fpc/indy-10.2.0.3.zip 2/爆开放于C:\lazarus\compone ...
- BZOJ1306: [CQOI2009]match循环赛
[传送门:BZOJ1306] 简要题意: 有n个队伍,每个队伍都要和其他队伍比一场,赢了的队得3分,输了的队不得分,打平两队各得一分,给出每个队伍的得分,求出对战方案数 题解: DFS暴搜!!一眼就觉 ...
- Lesson 2 Building your first web page: Part 3
Time to build your first HTML page by hand I could go on with more theory and send half of you to sl ...
- @Transactional 事务注解
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.SERIALIZABLE, rollbackFor = ...
- DispatcherServlet 前置控制器
1.DispatcherServlet作用 DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容 ...
- 互联网金融研究组:P2P借贷平台:性质、风险与监管(上)
互联网金融研究组(): P2P借贷平台:性质.风险与监管(上) 目 录 一.性质与合法性 1. P2P网络借贷 1.1 概念重新界定 1.2 发展概况与特点 2. 延伸模式及其合法性浅析 2. ...
- javascript“类”与继承总结
http://haorooms.com/post/js_jc_lei2