1.数据缓存
在ThinkPHP中进行缓存操作,一般情况下并不需要直接操作缓存类,因为系统内置对缓存操作进行了封装,直接采用S方法即可。eg:
S(array('type'=>'xcache','expire'=>600));
缓存初始化可以支持的参数根据不同的缓存方式有所不同,常用的参数是:
参数 |
描述 |
expire | 缓存有效期(时间为秒) |
prefix | 缓存标识前缀 |
type | 缓存类型 |
系统目前支持的缓存类型包:
Apachnote, Apc, Db, Eaccelerator, File, Memcache, Redis, Shmop, Sqlite, Wincache 和 Xcache.
如果S方法不传入type参数初始化的话,则读取配置文件中设置的DATA_CACHE_TIME参数值作为默认类型。同样的道理,prefix参数如果没有传入,会读取配置文件的DATA_CACHE_PREFIX参数值,expire参数没有传入则读取DATA_CACHE_TIME配置值作为默认值。
有一些缓存方式会有一些自身特殊的参数,例如Memcache缓存,还需要配置其他的参数:
S(array( 'type'=>'memcache', 'host'=>'192.168.1.10', 'port'=>'11211', 'prefix'=>'think', 'expire'=>60 ));
缓存设置:
S('name',$vaule); //设置缓存 S('name',$value,300); //缓存数据300秒 S('name',$value,array('type'=>'file','expire'=>300)); //采用文件方式缓存数据300秒
读取缓存:
$value = S('name'); //读取缓存 //缓存读取的是前面缓存设置的值,这个值会受缓存初始化或者缓存设置的时候传入的参数影响。如果缓存标识不存在或者已经过期,则返回false,否则返回缓存值
删除缓存:
S('name',null); //删除缓存标识为name的缓存数据
对象方式操作缓存:
$cache = S(array('type'=>'xcache','prefix'=>'think','expire'=>600)); $cache->name = 'value'; //设置缓存 $value = $cache->name; //获取缓存 unset($cache->name); //删除缓存 //如果你设置了缓存前缀的话,对应的缓存操作只是对应该缓存前缀标识的,不会影响其他的缓存
缓存队列:
简单的说就是限制缓存的数量,只需要在初始化的时候指定length参数:
S(array('type'=>'xcache','length'=>100,'expire'=>60)); //设置了length参数后,系统只会缓存最近的100条缓存数据
2.快速缓存
如果你的存储数据没有有效期的需求,那么系统还提供了一个快速缓存方法F可以用来更快的操作。F方法可以支持不同的存储类型,如果是文件类型的话,默认保存在DATA_PATH目录下面。
/** * 快速缓存Data数据 */ F('data',$Data); /** * 快速缓存Data数据,保存到指定的目录 */ F('data',$Data,TEMP_PATH); /** * 获取缓存数据 */ $Data = F('data'); /** * 删除缓存数据 */ F('data',null); //F方法支持自动创建缓存子目录,在DATA_PATH目录下面缓存data数据,如果User目录不存在,在自动创建: F('User/data',$Data);
相关推荐
将获得的数据以对象的形式缓存到本地,本例中实现了: 1.将登陆用户名和密码缓存到本地 2.将缓存的用户名和密码取出显示 本例仅供参考
重建图标缓存——Delphi工具,恢复图标缓存。
Android之本地缓存——LruCache(内存缓存)与DiskLruCache(硬盘缓存)统一框架 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
学习机器人缓存 缓存还是不缓存——这是个问题!
Oracle缓存连接——Timesten体系结构 .docx 内存数据库技术
分布式缓存RedisTemplate取不到数据的问题(csdn)————程序
从执行体程序库中的CLLogger类可知,通过缓存要写入文件中的数据,能够提高读写磁盘的性能 请编写一个文件操作的封装类,其要求如下: 需要提供open/read/write/lseek/close等函数的封装函数 该类要提供数据缓存服务...
python通过Canal进行数据监控后的数据缓存设计(csdn)————程序
批量为link,script标签增加版本号,强制更新浏览器缓存
在实际的应用中,用户使用浏览器浏览Web应用,都是在向Web...而大部分用户的请求都很类似,因需要将PHP脚本执行的结果进行缓存或将其放到静态的HTML文件中。这样,用户在访问时就直接访问静态HTML网页,不执行PHP脚本。
安装基本步骤: 1、传到空间 ... 注意 数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原...6、生成全站(生成——一键更新网站——更新所有——开始更新——更新系统缓存——开始执行。)
安卓Android源码——图片异步缓存两层缓存.zip
数据挖掘化功大法(17)——分布式缓存
2005,我们“芯芯”相印——双核心CPU缓存数据一致性浅析.pdf
安装基本步骤: 1、传到空间 ... 注意:数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原...6、生成全站(生成——一键更新网站——更新所有——开始更新——更新系统缓存——开始执行。)
安装基本步骤: 1、传到空间 ... 数据表前缀:dede_ 3、安装完成后 还原数据(系统——数据库备份/还原——数据还原(右上...6、生成全站(生成——一键更新网站——更新所有——开始更新——更新系统缓存——开始执行。)
分布式对象存储——原理 架构及Go语言实现, 没有密码版本。请下载支持。谢谢