关于JAVA编写的WEB程序多次并发访问数据库的问题

关于JAVA编写的WEB程序多次并发访问数据库的问题我们有个实时报表页面会30秒刷新一次,该页面可能同时有100人开着。旧的逻辑是该页面利用<metahttp-equiv... 关于JAVA编写的WEB程序多次并发访问数据库的问题
我们有个实时报表页面会30秒刷新一次,该页面可能同时有100人开着。
旧的逻辑是该页面利用<meta http-equiv="refresh" content="30" />来控制刷新,后端bean执行select语句查询然后在bean里拼接HTML返回页面显示。这样的实现方法会不会对数据库加重负担?
我想到一个解决方式,就是用一个对象来定时执行select语句和拼接HTML,然后返回一个静态的变量,用页面bean去获取该静态变量。
不知道这样算解决问题么?或者有什么更好的解决办法?
展开
 我来答
ballanfeng
2013-12-05 · TA获得超过424个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:221万
展开全部
有一个思路,你可以用ajax局部刷新数据,不刷新整个页面,同时用缓存,例如第一个30秒的数据放入缓存,页面从缓存里取数据,第二个30秒,你从数据库取出数据后,写个对象对比的方法,来比对新数据和第一个30秒存入缓存的数据,如果数据没有改变,那页面什么操作也不用做,因为数据没变化,刷新也没意义,如果第二个30秒数据发生变化,那么就刷新缓存为第二个30秒的数据,并且局部刷新页面数据。数据库的查询是避免不了的,所以没发减轻数据库的压力,只能是优化数据的显示。就象我上边提到的,如果前后2个30秒数据没有变化,那么就不要刷新页面。
米多多MiDD
2013-12-05 · TA获得超过1077个赞
知道小有建树答主
回答量:562
采纳率:66%
帮助的人:228万
展开全部
你把前台页面刷新,与后台定时查询数据两个刷新分开来。
旧的方案,每隔30秒的自动刷新保持不变。
后台查询业务可以设计成定时任务,请参考Timer或者quertz设计实现。保持没28秒刷新一次就可以满足前台对数据有效性的要求。
这样设计可以解决并发访问数据的情况,因为访问数据库的查询业务只有一个定时任务来实现。
希望对你有帮助
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代码之间
2013-12-05 · 分享码农进阶的点点滴滴
代码之间
采纳数:258 获赞数:610

向TA提问 私信TA
展开全部
这样经常刷新肯定对数据库有影响的,你这样是可行的,也可以放在缓存里面~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式