日期:2014-05-17  浏览次数:20697 次

web项目首页定时更新问题
SSH的项目,首页有推荐的栏目,需要执行数据库查询操作,是否有好的办法,能够使系统启动时,首页第一次进行初始化,以后每隔固定时间,比如2小时,进行更新,而不是所有用户每次访问首页都执行查询,获取推荐栏目,进而提高系统性能,欢迎各位一起探讨。

------解决方案--------------------
比较感兴趣的是:你更新的是什么东西,更新如循环,是几个首页循环更新还是随机更新


方案可以这样:
一:
你把首页查询到的数据做个缓存,就在对应JSP或Action的static区域。然后启动一个定时器,如果2小时内则直接取缓存,超时则执行查询。


------解决方案--------------------
用一个线程可以实现吧?
------解决方案--------------------
探讨
而不是所有用户每次访问首页都执行查询,获取推荐栏目,

------解决方案--------------------
探讨
详细点呗


引用:

用一个线程可以实现吧?

------解决方案--------------------
http://wenku.baidu.com/view/4ada843243323968011c922a.html?from=related

静态化和缓存的说明。。。大部分讲的oscache缓存的实现。。。
------解决方案--------------------
有人这么说:

引用
速度上一般从快到慢是本地缓存->静态页面->缓存的动态页面->动态生成。静态页面是很快,但是如果是动态生成的静态页面,其刷新代价非常重要。这个代价包括编码代价和运行代价。 
首先,我们要编写静态化页面,那么就不能直接用JSP或模板。只能输出HTML文件。而如何输出、何时输出、输出不及时造成的延迟是否会对业务产生威胁都是问题。所以在编写上很麻烦。也许有人有简单的,不过总比直接用JSP麻烦很多是可以肯定的。这样会造成开发时间延长。 
其次是运行代价。静态化页面只适合超量访问,而极少变更最好不变更的情况。每次重新生成页面所产生的计算量、IO处理是非常大的,弄不好到时候CPU不干别的,全去生成页面了。如果一个网站的静态页面要不断反复地重新生成,那么还是不要静态化的好。 
所以
我觉得如果绝大部分页面只生成一次,同时访问量非常非常大。那么可以考虑静态化。如果部分页面需要定时生成,页面缓存比较好。页面变动频繁,还是老老实实用动态页面写吧。 

------解决方案--------------------
我觉得,你可以把前台页面中的加载信息的地方抽取处理。

然后固定时间把它们重新赋值,这样把页面做成静态的。