菜鸟来确认一件事 关于数据库缓存 本帖最后由 xuanyuanyilu 于 2010-12-24 10:54:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果要使用缓存,一般是缓存单个对象,如果你要查询结果集,一般我们会之查询ID,然后根据ID去缓存中查询。比如:List<Integer> idList = dao.queryForList(...);List<Bean> beanList = new ArrayList<Bean>();for(Integer id:idList){ Bean bean = cache.getValue(id); if(bean==null){ bean = dao.getById(id); cache.put(id,bean); } beanList.add(bean);}return beanList; 在缓存期内缓存里有10条,你ID>3应该也是从缓存里取出的。。 IBAST也好,Hibernate也好,缓存的策略大同小异:在内存里保留一部分查询结果数据,定期检查缓存和实际数据库中对应数据的一致性,如果遇到后台数据库的增删改操作,刷新内存中缓存数据,查询时先从缓存中找,如果找不到,执行数据库查询,并将增量结果放入缓存Hibernate强化的缓存机制有二次缓存,把PO对象按ID做了MAP,定期刷新,更方便应用程序的业务逻辑 你的意思是我执行第一次ID>5查询时是把所有记录都放在了缓存里,第二次查询时能在缓存里或得到所有7条正确数据?这个说法比较好理解。如12楼说的,有个“如果找不到”,它要判断是找得到还是找不到必须每次都得查询数据库,所以这种说法总是很难理解 如果第一次是5条,第二次是7条,缓存中应该是7条,就看你这个缓存怎样弄了,索引怎样加了,5条10条还不是自己控制的。就框架来说你觉的怎样是合理的,比如第一次id>5,第二次id>3,你觉得缓存中改用5条合理还是该有7条,显然7条是对的,而且写框架的人肯定比咱聪明,所以啊是7条比较合理,总之这个缓存中肯定有个上限。 是撒,看道行高深了,总不能说框架不是人写的吧,框架中总不能缓存所有的数据吧,肯定有个上限滴,上限的控制肯定是认为滴。就说hibernate的session吧,还不是分3类,让你自己写框架你说说你的session中该怎样处理?还不是去一部分缓存,取个上限只能是1000条,超过了就持久化一下或者clear之类的。总之一句话思想跟上写框架的人了,自然而然的就知道怎样是合理的了。也就能写自己的框架了! 是撒,看道行高深了,总不能说框架不是人写的吧,框架中总不能缓存所有的数据吧,缓存肯定有个上限滴,上限的控制肯定是人为滴。就说hibernate的 session吧,还不是分3类,让你自己写框架你说说你的session中该怎样处理?还不是取一部分缓存,取个上限只能是1000条,超过了就持久化一下或者clear之类的。总之一句话思想跟上写框架的人了,自然而然的就知道怎样是合理的了,也就能写自己的框架了!错别字太多,见谅!! Struts1.x的国际化问题。 poolman找不到配置文件 问道EL问题 jsp如何向数据库中批量插入数据 工作找的郁闷,发个简历,大家研究研究,要应届毕业生的来 谁有关于物流仓储管理(WMS)方面的web程序,不够再加 用jsp得客户端信息! 很菜的问题:为什么用get方法传值中文会变成乱码 response.Redirect的问题 求大神,定时任务出错了。 关于过滤器(Filter)的问题。。。 文章浏览问题
比如:
List<Integer> idList = dao.queryForList(...);
List<Bean> beanList = new ArrayList<Bean>();
for(Integer id:idList){
Bean bean = cache.getValue(id);
if(bean==null){
bean = dao.getById(id);
cache.put(id,bean);
}
beanList.add(bean);
}
return beanList;
在缓存期内缓存里有10条,你ID>3应该也是从缓存里取出的。。
在内存里保留一部分查询结果数据,
定期检查缓存和实际数据库中对应数据的一致性,
如果遇到后台数据库的增删改操作,刷新内存中缓存数据,
查询时先从缓存中找,如果找不到,执行数据库查询,并将增量结果放入缓存Hibernate强化的缓存机制有二次缓存,把PO对象按ID做了MAP,定期刷新,更方便应用程序的业务逻辑
这个说法比较好理解。
如12楼说的,有个“如果找不到”,它要判断是找得到还是找不到必须每次都得查询数据库,所以这种说法总是很难理解
总之一句话思想跟上写框架的人了,自然而然的就知道怎样是合理的了。也就能写自己的框架了!
总之一句话思想跟上写框架的人了,自然而然的就知道怎样是合理的了,也就能写自己的框架了!错别字太多,见谅!!