thinkphp mysql cache_thinkPHP5框架数据库连贯操作之cache()用法分析

本文实例讲述了thinkPHP5框架数据库连贯操作之cache()用法。分享给大家供大家参考,具体如下:

介绍

TP5中自带的缓存系统,是File型缓存。也就是文件型缓存。存储地址是:根目录..untimecache(根目录指public)。

这个缓存系统相较于redis,memcached肯定有局限性的,自动更新以及缓存数据的复杂程度上有区别。但是对于一些简单的查询等还有很有帮助的。比如文章等这些内容使用起来还是不错的。

cache可以用于select、find、value和column方法,以及其衍生方法,使用cache方法后,在缓存有效期之内不会再次进行数据库查询操作,而是直接获取缓存中的数据,关于数据缓存的类型和设置可以参考缓存部分。

存储cache

1. 简单的存储//查询news表中id=10的新闻存储于cache中,写true默认读取配置的中缓存时间,db():助手函数db("news")->cache(true)->find(10);//你也可以自定义时间,60秒表示db("news")->cache(true,60)->find(10);

2. 指定缓存标识//缓存标识可以理解为键,就是当你想要去取出缓存中的某条数据的令牌,id=15的存进cache并且给定下标为keydb("news")->cache("key")->find(15);//当你想要去取出id=15的这条数据时候$data = hinkCahce::get("key");

你可以在任何一个地方来读取这条数据,此处类似于session()

3. cache方法支持设置缓存标签db("news")->cache("key",60,"tagName")->find(15);

更新cache

现在这么看有一个问题,当你的项目运行了一段时间了岂不是会产生很多的缓存文件,文件越来越多,每次请求去找cache文件的时候浪费的时间可能比直接查询数据库更慢。怎么办呢?

TP5有一个cache自动更新的方法。就是同数据有删除或者更新操作的时候会自动删除掉老的缓存文件。//查询id=328的存进cache$list = db("news")->cache(true)->find(328);//现在进行测试下,你手动去数据库修改id=328的某个字段的值,然后再次进行第一次的查询请求发现数据库修改的字段没变,这时候就是读取的缓存,然后db("news")->update(["id"=>328,"title"=>"测试"]);//这时候你再次请求会发现获取的数据改变了 ,这时候不再是读取的缓存,因为你做了更新操作,重新写进缓存了,当然,以上说的这种情况前提是使用的主键查询的

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Javascript_库编写]创建自己的“JavaScript库”

一.编写JavaScript库要注意的问题 为了让自己的JS库构建的更加优雅、合理,我们编写JS库时要注意两方面的内容: 1.不要使用版本检测,而要使用能力检测 由于浏览器的类型和版本太多,以及不断的新的浏览器出现,我们不可能…

文件的分割与合并

/*文件的分割*/ #include<stdio.h> #include<stdlib.h> #include<string.h> #define NUM 1024 * 1024 * 100 int main() {//所需分割的文件路径FILE *fr fopen("F:\\PL.exe", "rb");if (fr NULL){exit(-1);}char *buff (char*)malloc…

mysql5.6.24怎么打开_mysql 5.6.24 安装配置方法图文教程

由于工作需要&#xff0c;开始使用mysql数据库&#xff0c;已经好久没有使用了。基本已经忘了差不多。今天重新安装配置了一下&#xff0c;写个随笔记录一下&#xff0c;以免自己以后需要的时候翻看&#xff0c;如有不正确或需要补充的&#xff0c;希望大家多多留言。首先下载m…

sublime text 3安装及使用

安装配置 安装&#xff1a; 安装环境:Ubuntu 16.04 官网下载sublime text 3 https://www.sublimetext.com/3 解压&#xff1a; tar xvf 文件名 进入 sublime_text_3文件夹&#xff0c;运行 ./sublime_text 注册码&#xff1a;我用的时候有用 —– BEGIN LICENSE —–TwitterInc…

微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版

原文&#xff1a;http://www.shichangbu.com/portal.php?modview&aid25931 公众号如何申请这些功能&#xff1f; 在微信公众号后台和QQ经常都有人问我诸如此类的问题&#xff1a;”微信公众平台原创声明怎么开通?“、”微信赞赏等功能是怎么回事…

mysql时间聚合_11.MySQL数值、日期和时间、信息、聚合函数

mysql> ALTER TABLE 名单 ADD id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT FIRST;Query OK, 0 rows affected (0.27 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> DESC 名单;-----------------------------------------------------------------| Field | Type…

Html工具类

1 import java.io.IOException;2 import java.io.PrintWriter;3 4 import javax.servlet.http.HttpServletResponse;5 6 import net.sf.json.JSONException;7 8 9 public class HtmlUtil { 10 11 /** 12 * 13 * <br> 14 * <b>功能&#x…

C#基础加强_泛型的基本原理

小弟初写博文&#xff0c;深感“易敲千行码&#xff0c;难下百余文”的道理。 内容粗略浅薄&#xff0c;望各位大神海涵&#xff01; 动态数组ArrayList可以实现不断的增长&#xff0c;让我们感受到了在某些地方较数组有优越感。但它包含的数组类型是object类&#xff0c;意味着…

python语法笔记(四)

1、对象的属性 python一切皆对象&#xff0c;每个对象都可能有多个属性。python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义&#xff0c;叫做类属性&#xff1b;还可能是该对象实例自身定义的属性&#xff0c;叫做对象属性。类属性…

为什么闹钟设置了却不响_又被iPhone闹钟坑了?解决闹钟不响问题看这里!

原标题&#xff1a;又被iPhone闹钟坑了&#xff1f;解决闹钟不响问题看这里&#xff01;你有没有过这样的体验&#xff0c;早上醒来&#xff0c;闹钟还没响&#xff0c;内心想&#xff1a;真好&#xff0c;还可以再睡会。拿起手机想看看还能再睡多久&#xff0c;结果……我的天…

CSS3实现纸张边角卷起效果

html代码 1 <body>2 <div class"page">3 <div class"page-box">4 <h1>5 兔子先生6 </h1>7 <p>8 这几…

fzu 1894 单调队列

http://acm.fzu.edu.cn/problem.php?pid1894 Problem 1894 志愿者选拔Accept: 1328 Submit: 4200Time Limit: 1500 mSec Memory Limit : 32768 KB Problem Description 世博会马上就要开幕了&#xff0c;福州大学组织了一次志愿者选拔活动。参加志愿者选拔的同学们排队接…

均线带角度的指标_选股指标:均线角度并列向上,量能倍增飞扬趋势明显,短线操作可考虑...

今天要讲的是量能飞扬的选股指标&#xff0c;这个指标是按照20日、30日、60日、120日均线反正切角度原理为基础设计的公式&#xff0c;这4条均线角度排列向上&#xff0c;股价呈现向上的趋势&#xff0c;选出的股票有大概率上涨的空间&#xff0c;完整的公式如下&#xff1a;A2…

将链表中m-n范围内的数进行倒序

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1->2->3->4->5->NULL, m 2 and n 4, return 1->4->3->2->5->NULL. Note:Given m, n satisfy the following condition:1 ≤ m ≤ n ≤ lengt…

python 核心编程第5章(习题)

1.标准类型运算符. 写一段脚本&#xff0c;输入一个测验成绩&#xff0c;根据下面的标准&#xff0c;输出他的评分成绩&#xff08;A-F&#xff09;。 #coding:utf8 a raw_input() a int(a) if (a > 100) or (a < 0):print "输入错误,请输入0&#xff5e;100的数字…

cacti pdo_mysql_搭建配置cacti,采集信息监控

安装cactilamp环境[iyunvCacti ~]#service iptables stop //关闭防火墙服务[iyunvCacti ~]#chkconfig iptables off //永久性关闭[iyunvCacti ~]#vi /etc/sysconfig/selinux //把SELINUXenforcing改为SELINUXdisabled1&#xff1a;操作系统的安装&#xff0c;这个就不用写教程了…

win10下安装ubuntu14.04双系统(UEFI固件)

2019独角兽企业重金招聘Python工程师标准>>> 在windows10环境下安装双系统&#xff0c;遇到了很多坑。作为一个用惯了虚拟机的人&#xff0c;本想通过安装双系统来充分利用计算机本身的硬件资源&#xff0c;结果失败了n次&#xff0c;摸索了整整一天&#xff0c;看了…

时区缩写

新西兰标准时间 NZT 12:00 新西兰时间 AESST 11:00 澳大利亚东部夏时制 CST(ACSST) 10:30 中澳大利亚标准时间 CADT 10:30 中澳大利亚夏时制 SADT 10:30 南澳大利亚夏时制 EST(EAST) 10:00 东澳大利亚标准时间 GST 10:00 关岛标准时间 LIGT 10:00 澳大…

【python】内存相关

1. /proc/pid/status 可以查看进程相关的详细信息&#xff0c;当内存异常时可查看 参考&#xff1a;http://blog.csdn.net/beckdon/article/details/48491909 2. top -p 进程号 实时查看进程相关内存 3. 内存调试 参考&#xff1a;http://blog.csdn.net/ybdesire/article/det…

Java反射xml数据类

我们做自己的自动化测试。遇到使用xml存储数据&#xff0c;然而&#xff0c;这些数据可以被封装成一个类。将数据传递。通过下面的实际例子&#xff0c;展示给大家。请欣赏。 第一步&#xff1a;xml数据存储将被使用 第二步&#xff1a;读取xml文件的方法 第三步&#xff1a;xm…