2 qq 22968417 qq_22968417 于 2015.07.04 22:26 提问

每个页面都有的公共数据获取存放在哪个域里面(application?)

如图,网站中很多页面中都有这个排行(我自己的是商品分类:不会经常变化),不会是翻个页也再去取出来一次(那action中很多方法写这一段同样的代码),我是将这个数据放在application域中,那就只取了一次,但是数据库更新了,页面不会更新到新的数据. 我想到用任务调度,定时更新application中的数据.貌似很麻烦.不知谁好的解决方法.图片说明

6个回答

caozhy
caozhy   Ds   Rxr 2015.07.04 23:46

救你的需求,应该用页面缓存来实现,而不是放在application里。

qq_22968417
qq_22968417 感谢,你们所说的缓存,我确实还没想到过.我去百度百度.
2 年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2015.07.04 22:29

还不如定时生成静态页面。
前端展示的时候就展示这个静态页面。后台可以定时更新这个静态页面。

huang7230468
huang7230468 请教下,静态化一般使用什么技术呢
2 年多之前 回复
guwei4037
guwei4037   Ds   Rxr 2015.07.04 22:34

要么使用服务器缓存技术,或者一天生成一个txt,把结果存放起来。

miracle_yao
miracle_yao   2015.07.04 22:57

写个定时任务,定时从数据库更新到页面。

frank_20080215
frank_20080215   2015.07.05 08:01

每个页面都有的公共数据获取存放在Session域里面

qq_22968417
qq_22968417 你存session的话,每人都会去数据库中取一份存放服务器内存中,不合理啊
2 年多之前 回复
qq_22968417
qq_22968417 你存session的话,每人都会去数据库中取一份存放服务器内存中,不合理啊
2 年多之前 回复
qq_22968417
qq_22968417   2015.07.05 12:33

我现在是启用了监听器,服务一启动,就已经从数据库中把分类取出来放入application了,A页面用el表达式把这个分类数据取出来,其他页面需要这个分类的就
包含进来就ok,楼上所说缓存A这个jsp页面在我这种背景下貌似行不通,估计还是用任务调度好一些,定时覆盖application中的数据.

Csdn user default icon
上传中...
上传图片
插入图片