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

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

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

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

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

$Model->cache("cache_name")->select();

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

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

$Model->cache(true,60,"xcache")->select();

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

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

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

$value = S("cache_name");

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

// 对查询数据缓存60秒

$Model->where($map)->cache("key",60)->find();

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

php 5.2 thinkphp 3.2.2 cache,查询缓存-ThinkPHP3.2.3完全开发手册相关推荐

  1. mysql query cache 查询缓存

    查看本博文,并进行验证(验证结果与博文一致): https://blog.csdn.net/carmazhao/article/details/7088530 mysql默认是开启查询缓存的. 设置查 ...

  2. php记录读取数据类型,数据读取 · ThinkPHP 3.2.3开发手册 · 看云

    # 数据读取 在ThinkPHP中读取数据的方式很多,通常分为读取数据.读取数据集和读取字段值. 数据查询方法支持的连贯操作方法有: 连贯操作 作用 支持的参数类型where 用于查询或者更新条件的定 ...

  3. System.Web.Caching.Cache类 缓存 各种缓存依赖

    原文:System.Web.Caching.Cache类 缓存 各种缓存依赖 Cache类,是一个用于缓存常用信息的类.HttpRuntime.Cache以及HttpContext.Current.C ...

  4. mysql 禁用查询缓存 query cache

    os:centos 6.8 mysql: 5.5.49 MySQL Query Cache 会缓存select 查询,但是在调优sql查询及测试数据库的性能时需要禁用该功能. 查看变量.状态 mysq ...

  5. vue获取商品数据接口_基于 request cache 请求缓存技术优化批量商品数据查询接口...

    Hystrix command 执行时 8 大步骤第三步,就是检查 Request cache 是否有缓存. 首先,有一个概念,叫做 Request Context 请求上下文,一般来说,在一个 we ...

  6. think php 子查询,使用thinkPHP怎么实现一个子查询语句

    使用thinkPHP怎么实现一个子查询语句 发布时间:2021-01-30 13:31:08 来源:亿速云 阅读:85 作者:Leah 这篇文章给大家介绍使用thinkPHP怎么实现一个子查询语句,内 ...

  7. Hystrix面试 - 基于 request cache 请求缓存技术优化批量商品数据查询接口

    Hystrix面试 - 基于 request cache 请求缓存技术优化批量商品数据查询接口 Hystrix command 执行时 8 大步骤第三步,就是检查 Request cache 是否有缓 ...

  8. thinkphp php5.1,ThinkPHP5.1完全开发手册

    ...执行如下命令:composer config -g repo.packagist composer https://packagist.phpcomposer.com3,安装thinkphp 5 ...

  9. 用php进行联查,Thinkphp使用join联表查询的方法

    本篇文章介绍了Thinkphp使用join联表查询的方法,具有一定的参考价值,希望对各位学习thinkphp的朋友有帮助! Thinkphp使用join联表查询的方法 多表联查:$user = M(' ...

最新文章

  1. netstat 命令(Linux)
  2. 脑电分析系列[MNE-Python-10]| 信号空间投影SSP数学原理
  3. Zabbix安装(十):监控windows进程
  4. python column stack_Python基础 | pandas中dataframe的整合与形变(merge reshape)
  5. C/C++面试题:什么是COM和ActiveX,简述DCOM。
  6. 关于ORACLE数据传输加密的介绍
  7. 国内互联网文章转摘习惯与现状一瞥
  8. Uboot详细解析1
  9. 开源版权 项目 字体
  10. 黑苹果oc清除nvram_小新Pro13 黑苹果/多系统心得
  11. 3dmax材质丢失插件_3dmax找回材质插件怎么用
  12. NotifyIcon用法
  13. Hyper-V虚拟机设置固定IP
  14. 【历史上的今天】5 月 25 日:雅虎与 eBay 联盟;第一次国际万维网会议;Google 街景发布
  15. 多帧图像增强 matlab,MATLAB中图像增强技术的实现
  16. 免费内网穿透远程访问家里的监控
  17. 【JavaBigDecimal练习】利用BigDecimal精确计算欧拉数
  18. 直接打印RAW文件到打印机(一)
  19. Solr--Solr与Spring整合(非完整版)
  20. java中钩子函数回调函数_钩子函数和回调函数

热门文章

  1. linux开机自启服务命令,linux开机自启服务命令
  2. python机械_10分钟掌握Python-机器学习小项目
  3. 【Level 08】U08 Positive Attitude L3 What a life
  4. 【英语学习】【WOTD】incipient 释义/词源/示例
  5. Android人脸识别开发入门--基于虹软免费SDK实现
  6. 静态与实例变量的区别——(面试题)
  7. 计算机网络学习笔记:第二章
  8. linux为mysql用户授权,Linux环境 Mysql新建用户和数据库并授权
  9. 福玛特机器人怎么开机_福玛特扫地机器人常见问题故障汇总
  10. BZOJ 1270 雷涛的小猫 dp