对于及时性要求不高的数据查询,我们可以使用查询缓存功能来提高性能,而且无需自己使用缓存方法进行缓存和获取。

大理石平台价格

查询缓存功能支持所有的数据库,并且支持所有的缓存方式和有效期。

在使用查询缓存的时候,只需要调用Model类的cache方法,例如:

  1. $Model->cache(true)->where('status=1')->select();

如果使用了cache(true) ,则在查询的同时会根据当前的查询条件等信息生成一个带有唯一标识的查询缓存,如果指定了key的话,则直接生成名称为key的查询缓存 ,例如:

  1. $Model->cache('cache_name')->select();

指定key的方式会让查询缓存更加高效。

默认情况下缓存方式采用DATA_CACHE_TYPE参数设置的缓存方式(系统默认值为File表示采用文件方式缓存),缓存有效期是DATA_CACHE_TIME参数设置的时间,也可以单独制定查询缓存的缓存方式和有效期:

  1. $Model->cache(true,60,'xcache')->select();

表示当前查询缓存的缓存方式为xcache,并且缓存有效期为60秒。

同样的查询,如果没有使用cache方法,则不会获取或者生成任何缓存,即便是之前调用过Cache方法。

如果指定了查询缓存的key的话,则可以在外部通过S方法直接获取查询缓存的内容,例如:

  1. $value = S('cache_name');

除了select方法之外,查询缓存还支持find和getField方法,以及他们的衍生方法(包括统计查询和动态查询方法)。

  1. // 对查询数据缓存60秒
  2. $Model->where($map)->cache('key',60)->find();

具体应用的时候可以根据需要选择缓存方式和缓存有效期。

 

最新文章

  1. HTML5拓扑图形组件设计之道(一)
  2. 移动端调试利器 JSConsole 介绍
  3. 【译】用boosting构建简单的目标分类器
  4. web性能测试的新利器 - Gatling 介绍
  5. 【Add binary】cpp
  6. 浅谈PHP自动化代码审计技术
  7. 怎样查看Eclipse是32位还是64位
  8. Java多线程编程之同步器
  9. html背景为灰色 不能操作,中间div可以操作
  10. php 的设计模式
  11. Python网络资源 + Python Manual
  12. Repeater隔行变色,两个方式
  13. VM VirtualBox安装Centos6.5
  14. tideways+xhgui搭建php 7的性能测试环境
  15. web 11
  16. vue2.0用组件实现选项卡
  17. python中的进程池和线程池
  18. CORS(跨域资源共享)的防御机制
  19. 01、@ConfigurationProperties 将属性文件里的值映射到JavaBean
  20. Python之路(第十篇)迭代器协议、for循环机制、三元运算、列表解析式、生成器

热门文章

  1. 前端学习(一)html标签(笔记)
  2. java笔试题大全带答案(经典11题)
  3. Tomcat---概述
  4. Vue学习笔记【18】——Vue中的动画(使用过渡类名)
  5. ajax验证用户名是否存在,手机号是不是匹配
  6. phpstorm使用说明
  7. python使用threading获取线程函数返回值的实现方法
  8. CentOS 搭建dns服务器 解析任意域名
  9. POJ 3468 A Simple Problem with Integers (分块)
  10. CDH6.1.0离线安装——笔记