自己轮询问题,解决!
添加时记录添加的时间,如:添加的时间为9点,有效时间为1个小时,那么就在前台判断当前时间是不是大于前面添加的时间+1个小时,然后调用更新这条语句的方法。或者是加个线程睡上有效期这个时间后执行更新方法。
比如平台发布一条信息是9 点,有效时间是1个小时,想实现 用户在9点30打开的页面 到10点,用户什么都不需要操作,看到状态是更新后的。我说这个需求通信实现是吧?
@凡事无绝对!: 设置个定时刷新吧,加载页面时多长时间后刷新一次。
好的。
一般变更一条数据的不同状态,就是在对应的数据表中加一个status的整型字段(如果是只有有效或无效这两种状态也可以用bool(true/false)代替,对应的数据库类型是bit),默认值为0表示有效,过了有效期用sql语句update这条数据的status字段值为1表示无效。查询有效的就筛选status=0的,无效的就是status=1的,这里的0和1是自己规定的。
想实现过了时间段后自动更新前台状态信息!
@凡事无绝对!: 那就让服务器推送
看样子你是想刷新前台页面的数据了,如果你想实现用户无操作自动刷新那么前台设置一个定时刷新即可
用户量很大、会又问题的。。
@凡事无绝对!:应该还好吧,很多网站不都有自刷新的数据存在吗。要不然就只能通过用户触发了
简单点的做法,是新建个数据库作业,定时处理一下有效期过期的数据,作业周期执行的间隔越短,状态的变更越精确,存在一定的时间不及时性,控制在能接受的范围就行,要是对变更状态有很高的实时性要求,那比较复杂了