总结
豆包 AI 助手文章总结

我做了一个投票项目,不想每一次投票都去访问一次数据库,想要在一定时间之后才更新数据库,应该如何操作了?

php中文网
发布: 2016-06-23 14:24:10
原创
1047人浏览过

数据库 延时 延迟 投票

我做了一个投票项目,不想每一次投票都去访问更新一次数据库,想要在一定时间之后才更新数据库,应该如何操作了?

回复讨论(解决方案)

如果投票后不立即更新数据库,那么显示出的投票结果不就不正确么?

实时性的功能,没必要批量插入。

如果投票后不立即更新数据库,那么显示出的投票结果不就不正确么? 我想是一分钟更新一次数据库

我能想到的比较直接的方法是:

将投票结果写入一个文本文件,格式可以是SQL语句(推荐),也可以是数据的简单dump。

后台跑一个cron的工作,每隔一分钟扫描该软件,用一些标记(比如上次处理的最大ID,timestamp)来过滤需要更新的内容到数据库。

可以把投票结果分时间段存入数组,数组写入一个临时文件,每隔一段时间提取这个文件,然后清空这个文件,跟4楼的思路差不多!

用队列吧!这样应该挺方便,数据实时还便捷~

使用缓存比如memcache如何?

每过一段时间批量读取并写入数据库 同时清空memcache

做一个b,把数据写到表b里,隔断时间把b的数据更新到a里面。

和 4 5 7楼想法差不多 创建临时文件 存储然后 到时间读到库里面去

写入文件 再存入数据库?
那么数据库还有什么用处?

我建议 你还是直接写入数据库吧
文件的并发其实不好处理的
而且 从读取文件 和数据库的角度来说我觉得 还是数据库比较方便

数据库就是干这个的。你的这个项目是个非常小的项目。

mysql内存表处理数据。

我能想到的比较直接的方法是:

将投票结果写入一个文本文件,格式可以是SQL语句(推荐),也可以是数据的简单dump。

后台跑一个cron的工作,每隔一分钟扫描该软件,用一些标记(比如上次处理的最大ID,timestamp)来过滤需要更新的内容到数据库。
我就是以这个思路来做的

可以把投票结果分时间段存入数组,数组写入一个临时文件,每隔一段时间提取这个文件,然后清空这个文件,跟4楼的思路差不多!
你说的每隔一段时间提取文件应该如何操作了?PHP的程序都是触发以后才运行的吧,如何可以每隔一段时间自动提取这个文件了?

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号