so_brave 发表于 2011-05-11 20:48

php定时刷新页面原理

php定时刷新页面原理



php解决方案:
一般这类计划任务,php方面,用“当天第一人访问刷新”,原理上说,就是判断“新的一天”第一个人访问,生成缓存。第二个用户访问时,就直接读缓存了。而第二天。判断缓存的更新时间,再判断用户访问时间。每日更新一次缓存。

linux解决方案:
楼上已经有。linux增加计划任务crontab是一个方法,牛人也可以自已写个c的后台进程。

javascript解决方案:
js处理这个事件需要一个先决条件:用户浏览器一直处理“打开状态”,这样就可以利用setTimeout方法进行location.reload来刷新。

一般来说,都是采用php的解决办法。当然你要是牛人,可以用第二种方法。第三种方法都是处理短时间刷新,一般3~15秒的客户端应用。

1.利用filemtime获取缓存文件最后更新时间(修改时间)。
2.利用date获取当前用户访问时间。($_SERVER["REQUEST_TIME”]请求开始时的时间戳。从 PHP 5.1.0 起有效)。
3.对比两个时间,如果同在(一天)。读取缓存文件。如果不是同一天,则更新缓存,再读取缓存。
可以把(缓存文件)想像成一个时间标识。所以,不一定是一个文件,也可以入库一个时间截。具体方法可以灵活很多了。

maochanglu 发表于 2011-05-12 11:03

crontab + wget 是最简单的。
页: [1]
查看完整版本: php定时刷新页面原理