我有一个列表,里面有个字段是活动时间,我想实现过期的活动进行自动修改过期活动状态的功能。
本来我是想每次刷新列表的时候都去查一下是否有过期的活动,但总觉得这样太耗资源。
有没有什么办法可以减少请求次数,从而自动更新列表里的项目状态的。求各位大神支招。
回复内容:
我有一个列表,里面有个字段是活动时间,我想实现过期的活动进行自动修改过期活动状态的功能。
本来我是想每次刷新列表的时候都去查一下是否有过期的活动,但总觉得这样太耗资源。
有没有什么办法可以减少请求次数,从而自动更新列表里的项目状态的。求各位大神支招。
服务器推送。
ajax轮询
不要存储活动持续时间,根据添加活动的时间存储活动到期时间。
前台显示页面根据当前时间筛选即可
在访问活动的页面加上一个判断,判断它的时间是否已经过期,如果过期,就更改它的状态。 当用户访问这个页面的时候就会去调用这个页面,不用自己主动去数据库里面查找了。
没想到好的更新状态的方法,建议用活动时间的值和time()比较来判断活动状态
自己肯定是不会触发修改。需要找到一个合适的时机,比如检测是否到期的时候,判断一次更新字段,一般是这样
最好是不要用状态字段。用到期时间判断状态。如果一定要用的话
数据库作业隔一段时间,比如一分钟,去更新状态。(这不耗资源,但是感觉有点傻)
本文原创发布php中文网,转载请注明出处,感谢您的尊重!