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缓存方式 ...
随机推荐
- 鸟哥的Linux私房菜-----15、例行性命令at与crontab
- scikit-learn 为机器学习
如何使用 scikit-learn 为机器学习准备文本数据 欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 文本数据需要特殊处理,然后才能开始将其用于预测建模. 我们需要解析文本,以删除被 ...
- AngularJS初接触
todo.json [ { "action": "Buy Flowers", "done": false }, { "action ...
- IntelliJ IDEA springmvc demo
construction pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" ...
- Atcoder ABC 069 C - 4-adjacent D - Grid Coloring
C - 4-adjacent Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Statement We have ...
- Mysql source导入.sql文件深坑!
刚刚接手一个项目,给老系统加功能.把数据库考出来一个.sql文件就170多M. 使用mysql命令行source 我的.sql文件. 导了一宿都没导完,然后发现里面的数据怎么是乱码呢.. 崩溃额,在排 ...
- python音频处理相关类库
一.eyeD3 以下是eyed3的官方介绍 eyeD3 is a Python tool for working with audio files, specifically mp3 files co ...
- C#实现窗口拖动时各个控件同比自己主动放缩大小
实现方式主要是利用panel控件为主题.对于每一个控件的大小位置和字体这几个属性进行记录. 然后依据窗口改变的大小同一时候放缩. 简要过程例如以下: 1 创建C#窗口程序项目. 2 Panel放置到 ...
- Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack.
1.错误描写叙述 八月 14, 2015 4:22:45 下午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error 严重: Excepti ...
- vue1
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...