导航:上一页

我们经常需要给某些数据表添加一些需要经常更新的统计字段,例如用户的积分、文件的下载次数等等,而当这些数据更新的频率比较频繁的时候,数据库的压力也随之增大不少,我们可以利用高级模型的延迟更新功能缓解。

延迟更新功能是指我们可以给统计字段的更新设置一个延迟时间,在这个时间段内所有的更新会被累积缓存起来,然后定时地统一更新数据库。这比较适合某个字段经常需要递增或者递减,并且对实时性要求没有那么严格的情况。

我们先来看递增的情况,如果我们需要给会员累积积分,可以使用$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开发指南-模型-高级模型之延迟更新相关推荐

  1. thinkphp开发流程之四 ——数据库的配置以及表模型的创建和使用

    thinkphp开发流程之四 --表模型的创建以及使用 一.在phpstrom中配置数据库的信息 二.利用composer指令创建model 三.模型使用方法 一.在phpstrom中配置数据库的信息 ...

  2. Spring高级程序设计(Spring框架创始人倾情推荐的权威开发指南)

    Spring高级程序设计(Spring框架创始人倾情推荐的权威开发指南) 市场价 :¥99.00 会员价 : ¥74.25(75折) 样章免费试读:http://www.china-pub.com/1 ...

  3. 【SQL Server】数据库开发指南(五)T-SQL 高级查询综合应用与实战

    本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中. 本系列文章列表如下: [SQL Server] Linux 运维下对 SQL Server 进行安装.升级.回滚.卸载操作 [ ...

  4. 用于实时操作系统固件更新开发指南的MediaTek Linkit MT2523开发平台

    LinkIt_for_RTOS_Firmware_Update_Developers_Guide--用于实时操作系统固件更新开发指南的MediaTek Linkit™开发平台 MediaTek Lin ...

  5. 火龙果(redpitaya)开发板常用接口C语言开发指南(九)——产生信号脉冲(持续更新中)

    火龙果(redpitaya)开发板常用接口C语言开发指南(九)--产生信号脉冲(持续更新中) --本人为<火龙果实战指南--搭建基于Zynq处理器的测量仪器与创新实践平台>一书的作者之一, ...

  6. HiAI模型集成应用场景和开发指南

    HiAI 模型集成应用场景和开发指南 最近小编闲来无事跑到附近动物园转了转,动物园里奇珍异兽数不胜数.红翻石鹬.红脚鹬.蛎鹬.沙狐.北极狐-弄得小编是一脸的懵,分不清谁是谁.无奈小编只能每次拍小动物们 ...

  7. HiAI 模型集成应用场景和开发指南

    Demo的github源代码地址:https://github.com/HuaweiOpenlab/SmartPhoto HiAI 模型集成应用场景和开发指南 该开发指南可以指导Android手机应用 ...

  8. hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  9. 全志Tina Linux MPP 开发指南

    全志Tina Linux MPP 开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板 1 简述 整理 MPP sample 使用说明文档的目的是:使 MPP ...

最新文章

  1. Java学习总结:55(偶对象保存:Map接口)
  2. 面对0基础学IT的一些感想
  3. java slf4j日志框架_SLF4J - 日志框架 - 类库 - Java - 代码树
  4. Java 虚拟机诊断利器
  5. 高性能I/O设计模式
  6. 四六级成绩查询,你的『验证码』刷出来了吗?
  7. MYSQL中的SELECT查询时进行运算
  8. WPF ----在UserControl的xaml里绑定依赖属性
  9. CRM【第三篇】: crm业务
  10. R语言系列:自定义function
  11. POJ3070 Fibonacci【矩阵快速幂】
  12. (转)比特币基金难产 区块链基金成首发
  13. minecraft服务器搭建教程_[学生福利]使用WINDOWS SERVER2012R2服务器搭建网站教程
  14. KeepLive for Android 安卓保活组件
  15. 采集摄像头RGB565数据并转为bmp图像
  16. mount: unknown filesystem type
  17. 如何实现电脑快速开机
  18. python实时监控网站更新_Python监控Github项目更新并自动下载
  19. 用python控制大华摄像头简单转动
  20. 2019一级建造师《水利水电》每日一练

热门文章

  1. 项目中的富文本编辑器该如何选择?
  2. 【视频内含福利】原来手机套壳视频是这么做出来的
  3. 知识图谱应用实战案例100篇(二)-以知识图谱的方式打开预训练语言模型
  4. html中左侧播放器插件,简洁实用的html5音乐播放器插件
  5. Web 开发中 Blob 与 FileAPI 使用简述
  6. 什么是 HTML5?
  7. JQuery .net WebService 参数必须一致
  8. django 日志配置
  9. tmux颜色高亮跟vim不一致的情况
  10. Date函数基础知识整理