java如何避免频繁访问数据库
公司用的是struts1系统里面的双击域都是双击一次就查询一下数据库,感觉这样不大合理,请问各位大神这边改如何优化?...
公司用的是struts1 系统里面的双击域都是 双击一次就查询一下数据库, 感觉这样不大合理,请问各位大神这边改如何优化?
展开
7个回答
展开全部
预生成静态页面或者使用缓存(内存数据库/nosql)
静态页面是根据业务来确定是否合适使用,例如博客网站,会对文章进行生产静态html,固定时间更新(例如每天重新生成一次),这种内容修改几率比较小的比较适合,可以有效的避免每次获取文章内容都要交互数据库,直接访问对应静态页面(相关技术可以查看freemarker等)
缓存是针对读取比较频繁,且数据不是很大的情况。nosql类似,去掉了数据库比较复杂的强制关系(例如主外键等),只是单纯的存储读取数据,具体数据/业务逻辑再程序中去具体控制,可以极大的加快访问速度,例如(redis,mongodb)
具体可以搜索nosql或者key-value 数据库了解。
静态页面是根据业务来确定是否合适使用,例如博客网站,会对文章进行生产静态html,固定时间更新(例如每天重新生成一次),这种内容修改几率比较小的比较适合,可以有效的避免每次获取文章内容都要交互数据库,直接访问对应静态页面(相关技术可以查看freemarker等)
缓存是针对读取比较频繁,且数据不是很大的情况。nosql类似,去掉了数据库比较复杂的强制关系(例如主外键等),只是单纯的存储读取数据,具体数据/业务逻辑再程序中去具体控制,可以极大的加快访问速度,例如(redis,mongodb)
具体可以搜索nosql或者key-value 数据库了解。
展开全部
如果是经常查询很少修改的数据,可以考虑用二级缓存,金融相关的数据绝对不要放二级缓存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把要保存的数据放置在内存中,然后在一个时间段存入数据库。缺点是,假如断电了,就没来得及保存数据了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-03-15
展开全部
可以考虑缓存啊
但是所有的设计都是以业务为基础的。
比如缓存有时会有数据实时性的问题。你业务上能接受就可以
但是所有的设计都是以业务为基础的。
比如缓存有时会有数据实时性的问题。你业务上能接受就可以
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用哈布雷特!这个框架里面有缓存机智!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询