thinkphp 中内置了缓存操作 3.1版本的数据缓存方法是cache

基本用法:

  S(array('type'=>'xcache','expire'=>60));

缓存初始化

  缓存初始化可以支持的参数根据不同的缓存方式有所区别,常用的参数

    expire   缓存的有效期

    prefix   缓存标识前缀

    type   缓存类型

  其中 expire prefix type 为标识符 命名遵守标识符的命名规则可以随意替换

  ps:如果S方法不传入type参数初始化,可以读取配置文件中设置的DATA_CACHE_TYPE参数值作为默认类型

       prefix 参数没有传入会读取配置文件的DATA_CACHE_PREFIX参数值

     expire 参数没有传入则读取DATA_CACHE_TIME配置值作为默认值

  有些缓存方式会有一些自身特殊的参数,如memcache缓存,还需配置其他的参数:

  

   S(array(

       'type'=>'memcache',    //缓存类型

       'host'=>'localhost',     //主机地址

       'port'=>'11211',     //memcache端口号

       'prefix'=>'mem',    //缓存前缀

       'expire'=>60      //缓存时间  一分钟

     ));

缓存设置

//设置缓存
S('a',$value);

上面的代码中没有设置缓存时间 会读取配置文件中的DATA_CACHE_TIME中的参数值

在缓存设置的时候改变参数

//缓存数据300s
S('a',$value,300);
// 采用文件方式缓存数据300秒
S('a',$value,array('type'=>'file','expire'=>300));

缓存读取

//读取缓存
$res = S('a');

ps:如果缓存标识不存在或者已经过期,则返回false,否则返回缓存值

缓存删除

//删除缓存
S('a',null);

对象方式操作缓存

//初始化缓存
$cache = S(array('type'=>'xcache','prefix'=>'think','expire'=>600));
$cache->name = 'value'; //设置缓存
$value = $cache->name; //获取缓存
unset($cache->name); //删除缓存 ps:其中name为合法的标识符

缓存的应用

   在读取数据库的时候把读取的数据缓存起来 当用户再次调用读取数据库函数时先判断缓存是否过期 如果缓存没有过期可直接从缓存中读取数据 缓存过期再读取数据库 从而减轻数据库的压力

thinkphp 缓存数据的更多相关文章

  1. ThinkPHP使用Memcached缓存数据

    ThinkPHP默认使用文件缓存数据,支持Memcache等其他缓存方式,有两个PHP扩展:Memcache和Memcached,Memcahe官方有说明,主要说一下Memcached. 相对于PHP ...

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

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

  3. thinkphp缓存使用

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

  4. ThinkPHP 添加数据到数据库失败

    ThinkPHP 添加数据到数据库失败 一般情况下会先检查一下几个方面 检查控制器或Model名是否有误 检查需要插入的数据是否为空或者缺失参数 检查数据表名及字段名称(大部分下都是字段名有误出错的) ...

  5. plain framework 1 网络流 缓存数据详解

    网络流是什么?为什么网络流中需要存在缓存数据?为什么PF中要采用缓存网络数据的机制?带着这几个疑问,让我们好好详细的了解一下在网络数据交互中我们容易忽视以及薄弱的一块.该部分为PF现有的网络流模型,但 ...

  6. HTML5本地缓存数据

    //HTML5本地缓存数据 function putObj(key, data) { if (!!window.localStorage) { var obj = { "key": ...

  7. 刷新本地的DNS缓存数据

    ipconfig /flushdns”执行,刷新本地的DNS缓存数据. ipconfig /displaydns      查看本地DNS缓存记录的命令为:ipconfig /displaydns.你 ...

  8. 网站缓存数据到tomcat服务器

    通过缓存使相同的数据不用重复加载,降低数据库的访问 public class CacheFilter implements Filter { //实例变量[每线程共享] private Map< ...

  9. iOS五种本地缓存数据方式

    iOS五种本地缓存数据方式   iOS本地缓存数据方式有五种:前言 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据 ...

随机推荐

  1. java正则表达式获得html字符串中<img src>的src中的url地址

    /** * 得到网页中图片的地址 */ public static Set<String> getImgStr(String htmlStr) { Set<String> pi ...

  2. Windows+Caffe+VS2013+python接口配置过程

    前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe, ...

  3. 第3章 拍摄UFO——单一职责原则

    就一个类而言,应该仅有一个引起它变化的原因

  4. marquee实现文字移动效果;js+div实现文字无缝移动效果

    1.marquee实现文字移动: <marquee width="220px;" scrollamount="5" onmouseover="t ...

  5. express框架

    一.express的使用 安装express 在根目录下输入 npm install express 引入express的包 const express = require("express ...

  6. 判断是否为gif/png图片的正确姿势

    判断是否为gif/png图片的正确姿势 1.在能取到图片后缀的前提下 1 2 3 4 5 6 7 8 9 //假设这是一个网络获取的URL NSString *path = @"http:/ ...

  7. 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2?

    p { margin-bottom: 0.1in; line-height: 120% } 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2? 要在服务器上开启 TLSv1.,通常 ...

  8. Pugixml一种快速解析XML文件的开源解析库

    Pugixml是一个轻量级的C++ XML开源解析库,DOM形式的解析器.接口和丰富的遍历和修改操作,快速的解析,此外支持XPath1.0实现数据查询,支持unicode编码: 使用Pugixml可通 ...

  9. 阿里云服务器上开启linux远程桌面连接

    一.说明: 本文的目的是实现在windows机器上利用远程桌面连接来访问远程的linux桌面. 这里使用的是阿里云服务器,操作系统为Centos6.5. 二.基本步骤: 1.首先保证服务器已经安装完毕 ...

  10. 浅入tomcat

    前言:学习笔记,以供参考 1.什么是服务器 所谓的服务器其实就是一段别人写好的程序,服务器有两个能力. a.可以帮助我们来管理资源. b.可以将资源向外界发布以便于外界来访问这个资源. 2.资源有哪些 ...