永发信息网

java如何避免频繁访问数据库

答案:6  悬赏:40  手机版
解决时间 2021-01-02 06:23
公司用的是struts1 系统里面的双击域都是 双击一次就查询一下数据库, 感觉这样不大合理,请问各位大神这边改如何优化?
最佳答案
预生成静态页面或者使用来缓存(内存数据库/nosql)
静态页面是根据业务来确定是否合适使用,例如博客网站,会对文章自进行生产静态html,固定时间更新(例如每天重新生成一次),这种内容修改几率比较小的比较适合,可以2113有效的避免每次获取文章内容都要交互数据库,直接访问对应静态页面(相关5261技术可以查看freemarker等)
缓存是针对读取比较频繁,且数据4102不是很大的情况。nosql类似,去掉了数据库比较复杂的强制关系(例如主外键等)1653,只是单纯的存储读取数据,具体数据/业务逻辑再程序中去具体控制,可以极大的加快访问速度,例如(redis,mongodb)
具体可以搜索nosql或者key-value 数据库了解。
全部回答
先把要保存的数据放置在内存中,然后在一个时间段存入数据库。缺点是,假如断电了,就没来得及保存数据了.
java连接数据库的方式有多种: 根据所需要的不同数据库驱动分,分为四种: 1:1类驱动。这就是jdbc-odbc桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的odbc驱动。 2:2类驱动。这就是jdbc+厂商api的形式。厂商api一般使用c编写,所以,这种方式也不长使用。 3:3类驱动。这就是jdbc+厂商database connection server+database的形式。 这种方法就是在java 与 database之间价起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。他的好处在于能优化连接。 4:4类驱动。这就是纯jdbc+database的连接方式。也是推荐的连接方式。这使得application与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。在这其中有两种连接的方式: 硬编码方式,就是在程序中硬性编入数据库连接的所须参数。 jndi datasource方式。就是在程序运行的外布环境中又称(context)设置一个datasource数据源,有一个jndi 名称,程序只须查找此名称就可得到一个数据库连接的对象。
如果是经常查询很少修改的数据,可以考虑用二级缓存,金融相关的数据绝对不要放二级缓存
用缓存机制,如果数据有变化再查数据库,比较麻烦 不知道你们的系统是不是用hibernate,用hibernate的话可以用lazy
可以考虑缓存啊 但是所有的设计都是以业务为基础的。 比如缓存有时会有数据实时性的问题。你业务上能接受就可以
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
截止到2010年10月31日,上海世博园共接待游客
我的世界龙蛋怎么孵化 八种龙的孵化方法
经期间能喝碧生源常润茶吗
和男朋友一到周末就不怎么联系,心塞
造型和始终的近义词
看一个国家是否文明,就看这个国家的人民对待
中石化(南大道发卡网点)地址在什么地方,想过
速腾230自动豪华对威朗1.5s自动领先哪个好
孕妇梦见找鞋
路人女主的养成方法和我的青春恋爱物语果然有
人面桃花物是人非什么意思
在日本买tiffany戒指,大概和国内价格相差几
Linux与MAC驱动问题
内眼角开大能修复吗?
离婚后男方把电话拉黑不让我看孩子是否可以要
推荐资讯
酒后交通肇事至一人重伤,已经取得家属谅解赔
和她聊天一会,突然她不回信息了,等了10分钟
江汉区武汉宝丽来快捷酒店在哪里啊,我有事要
It was from only a few supplies that she h
淮北市古饶供电营业厅在什么地方啊,我要处理
学校要在大门的上方安装一块长5.4米、宽2.5米
快上玩王者荣耀他们视频中的配音是用的什么变
小霸王游戏机哪有卖
我家的2台三菱重工空调在使用中,总是散发出一
东岭派出所地址在哪?我要去那里办事
WIFI网络断断续续 游戏掉包 怎么办
请根据下表回答有关问题:(用序号填空)序号
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?