php延迟更新,ThinkPHP开发指南-模型-高级模型之延迟更新
导航:上一页
我们经常需要给某些数据表添加一些需要经常更新的统计字段,例如用户的积分、文件的下载次数等等,而当这些数据更新的频率比较频繁的时候,数据库的压力也随之增大不少,我们可以利用高级模型的延迟更新功能缓解。
延迟更新功能是指我们可以给统计字段的更新设置一个延迟时间,在这个时间段内所有的更新会被累积缓存起来,然后定时地统一更新数据库。这比较适合某个字段经常需要递增或者递减,并且对实时性要求没有那么严格的情况。
我们先来看递增的情况,如果我们需要给会员累积积分,可以使用$User = D("User"); // 实例化User对象
// 把id为5的用户的积分加10
$User->setInc("score","id=5",10);
$User->setInc("score","id=5",30);
上面的操作更新了两次用户积分,并且都实时保存到数据库.如果我们使用延迟更新方法,例如下面对用户的积分延迟更新60秒
PHP代码
$User->setLazyInc("score","id=5",10,60);
$User->setLazyInc("score","id=5",30,60);
$User->setLazyInc("score","id=5",10,60);
那么60秒内执行的所有积分更新操作都会被延迟,实际会在60秒后统一更新积分到数据库,而不是每次都更新数据库。临时积分会被累积并缓存起来,最后到了延迟更新时间,再统一更新。相当于在60秒后执行了:
PHP代码
$User->setInc("score","id=5",50);
效果是等效。区别在于用户数据库中的积分不是实时的。同样,还可以使用setLazyDec进行延迟更新操作。
php延迟更新,ThinkPHP开发指南-模型-高级模型之延迟更新相关推荐
- thinkphp开发流程之四 ——数据库的配置以及表模型的创建和使用
thinkphp开发流程之四 --表模型的创建以及使用 一.在phpstrom中配置数据库的信息 二.利用composer指令创建model 三.模型使用方法 一.在phpstrom中配置数据库的信息 ...
- Spring高级程序设计(Spring框架创始人倾情推荐的权威开发指南)
Spring高级程序设计(Spring框架创始人倾情推荐的权威开发指南) 市场价 :¥99.00 会员价 : ¥74.25(75折) 样章免费试读:http://www.china-pub.com/1 ...
- 【SQL Server】数据库开发指南(五)T-SQL 高级查询综合应用与实战
本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中. 本系列文章列表如下: [SQL Server] Linux 运维下对 SQL Server 进行安装.升级.回滚.卸载操作 [ ...
- 用于实时操作系统固件更新开发指南的MediaTek Linkit MT2523开发平台
LinkIt_for_RTOS_Firmware_Update_Developers_Guide--用于实时操作系统固件更新开发指南的MediaTek Linkit™开发平台 MediaTek Lin ...
- 火龙果(redpitaya)开发板常用接口C语言开发指南(九)——产生信号脉冲(持续更新中)
火龙果(redpitaya)开发板常用接口C语言开发指南(九)--产生信号脉冲(持续更新中) --本人为<火龙果实战指南--搭建基于Zynq处理器的测量仪器与创新实践平台>一书的作者之一, ...
- HiAI模型集成应用场景和开发指南
HiAI 模型集成应用场景和开发指南 最近小编闲来无事跑到附近动物园转了转,动物园里奇珍异兽数不胜数.红翻石鹬.红脚鹬.蛎鹬.沙狐.北极狐-弄得小编是一脸的懵,分不清谁是谁.无奈小编只能每次拍小动物们 ...
- HiAI 模型集成应用场景和开发指南
Demo的github源代码地址:https://github.com/HuaweiOpenlab/SmartPhoto HiAI 模型集成应用场景和开发指南 该开发指南可以指导Android手机应用 ...
- hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南
1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...
- 全志Tina Linux MPP 开发指南
全志Tina Linux MPP 开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板 1 简述 整理 MPP sample 使用说明文档的目的是:使 MPP ...
最新文章
- Java学习总结:55(偶对象保存:Map接口)
- 面对0基础学IT的一些感想
- java slf4j日志框架_SLF4J - 日志框架 - 类库 - Java - 代码树
- Java 虚拟机诊断利器
- 高性能I/O设计模式
- 四六级成绩查询,你的『验证码』刷出来了吗?
- MYSQL中的SELECT查询时进行运算
- WPF ----在UserControl的xaml里绑定依赖属性
- CRM【第三篇】: crm业务
- R语言系列:自定义function
- POJ3070 Fibonacci【矩阵快速幂】
- (转)比特币基金难产 区块链基金成首发
- minecraft服务器搭建教程_[学生福利]使用WINDOWS SERVER2012R2服务器搭建网站教程
- KeepLive for Android 安卓保活组件
- 采集摄像头RGB565数据并转为bmp图像
- mount: unknown filesystem type
- 如何实现电脑快速开机
- python实时监控网站更新_Python监控Github项目更新并自动下载
- 用python控制大华摄像头简单转动
- 2019一级建造师《水利水电》每日一练