ThinkPHP 数据缓存
发布:smiling 来源: PHP粉丝网 添加日期:2014-04-11 15:41:09 浏览: 评论:0
ThinkPHP的数据缓存功能应该是一个非常大的特色,期间也经历了不少完善,主要由Cache类来完成,并且以工厂模式支持了很多的缓存方式,目前支持的有:
File 文件方式
Db 数据库方式
Shmop 共享内存方式
Eaccelerator Eaccelerator (Turck MMcache fork)
Memcache Memched
Apc APC
Apachenote Apache note
Sqlite SQLite
Xcache
对于用户来说,并不需要了解具体某种缓存方式实现的细节,而是统一通过公共的接口方法来实现缓存写入和读取,包括有效期设置,缓存的使用范围可以用在框架的各个层次,包括数据库查询缓存、数据对象缓存、应用自定义缓存等,使用缓存类的方式如下:
- Import("Think.Util.Cache");
- // 取得缓存实例 其中type参数表示上面列出的缓存类型 默认为File类型
- $cache = Cache: :getInstance($type);
- // 写入缓存
- $cache->set($name,$value,$expire);
- // 读取缓存
- $cache->get($name);
- // 删除缓存
- $cache->rm($name);
- // 清空缓存
- $cache->clear($name);
通常来说缓存会自动管理,过期的会自动清除,所以不需要手动来清除,在0.9.8版本以后,还增加了更加方便缓存操作的S方法,例如,上面的操作可以简化为:
- // 写入缓存数据
- S($name,$value,$expire);
- // 读取缓存数据
- S($name);
- // 删除缓存
- S($name,NULL);
- // 另外还可以指定其它的缓存方式操作
- S($name,$value,$expire,$type)
ThinkPHP支持自动数据对象缓存,该功能无需启用动态数据缓存就可以使用了,事实上,ThinkPHP的核心Action类的预定义操作方法中大量使用了数据对象自动缓存功能,第一次读取某个Vo对象会自动生成缓存,重复刷新页面或者其他用户读取该数据对象的时候无需再次访问数据库,而当某个用户对该数据对象进行了修改,系统会自动删除缓存数据对象,以便下次自动重新生成缓存,自动缓存仅仅适用于数据对象,对于数据列表对象无法完成自动缓存的更新功能.
框架还支持对缓存读写次数的统计功能.
Tags: ThinkPHP 缓存 数据
- 上一篇:PHP 间断执行某代码段
- 下一篇:thinkphp配置连接的数据库
相关文章
- ·ThinkPHP中自定义错误页面和提示页面 (2013-11-15)
- ·ThinkPHP中Ajax返回(2013-11-15)
- ·ThinkPHP中处理表单中注意(2013-11-15)
- ·ThinkPHP中I(),U(),$this->post()等函数(2013-11-15)
- ·ThinkPHP中公共函数路径和配置项路径的映射(2013-11-15)
- ·ThinkPHP中公共配置文件和各自项目中的配置文件组合(2013-11-15)
- ·ThinkPHP在控制器里的javascript代码不能执行解决方法(2013-11-29)
- ·ThinkPHP3.0略缩图不能保存到子目录(2013-12-03)
- ·thinkphp的循环结构(2014-01-10)
- ·thinkphp特殊标签使用(2014-01-10)
- ·thinkphp模板输出汇总(2014-01-10)
- ·thinkphp模板的赋值与替换(2014-01-10)
- ·thinkphp连贯操作(2014-01-10)
- ·thinkphp区间查询、统计查询、SQL直接查询(2014-01-10)
- ·thinkphp的普通查询与表达式查询(2014-01-10)
- ·RBAC类在ThinkPHP中的四种使用方法(2014-01-10)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)