分分彩出售hibernate框架学习——hibernat的缓存策略

分分彩出售hibernate框架学习——hibernat的缓存策略

ID:27751683

大小:129.81 KB

页数:16页

时间:2018-12-05

分分彩出售hibernate框架学习——hibernat的缓存策略_第1页
分分彩出售hibernate框架学习——hibernat的缓存策略_第2页
分分彩出售hibernate框架学习——hibernat的缓存策略_第3页
分分彩出售hibernate框架学习——hibernat的缓存策略_第4页
分分彩出售hibernate框架学习——hibernat的缓存策略_第5页
资源描述:

《分分彩出售hibernate框架学习——hibernat的缓存策略》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、什么是缓存?缓存分分彩出售dsluntan.com0:3393756370VX:17061863513是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中査询,如果在缓存中找到了需要的数据(我们把这称做“缓存命中’’),则就直接把命中的数据作为结果加以利用,避免了大量发送SQL语句到数据库杳询的性能损耗。缓存策略提供商:提供了HashT

2、able缓存,EHCache,OSCache,SwarmCache,jBossCathe2,这些缓存机制,其中EHCache,OSCache是不能用于集群环境(ClusterSafe)的,而SwarmCache,jBossCathe2是可以的。HashTable缓存主要是用来测试的,只能把对象放在内存中,EHCache,OSCache可以把对象放在内存(memory)中,也可以把对象放在硬盘(disk)上(为什么放到硬盘上?上面解释了)。Hibernate缓存分类:•Session缓存(又称作事务缓存):一级

3、缓存,Hibernate内貫的,不能卸除。缓存范围:缓存只能被当前Session对象访问。缓存的生命周期依赖于Session的生命周期,当Session被关闭后,缓存也就结束生命周期。•SessionFactory缓存(又称作应用缓存):二级缓存,使用第三方插件,可插拔。缓存范围:缓存被成用范围内的所有session共享,不同的Session可以共享。这些session有可能是并发访问缓存,因此必须对缓存进行更新。缓存的生命周期依赖于应用的生命周期,应用结朿时,缓存也就结朿了生命周期,二级缓存存在于应用程序范

4、围。二、一级缓存:Hibernate—些与一级缓存相关的操作(时间点):数据放入缓存:1.save()o当session对象调用saveG方法保存一个对象后,该对象会被放入到session的缓存中。2.get()和load()。当session对象调用get()或load()方法从数据库取出一个对象后,该对象也会被放入到session的缓存中。3.使用HQL和QBC等从数据库中查询数据。例如:数据库有一张表如下:id*usernamebalance►40233le534fa5a440134fa5a45IbOO

5、O1zhangsan100040233le534fa5a440134fa5a45340002lisi200040233le534fa5a440134fa5a45340003wangwu3000使用get()或load()证明缓存的存在:publicclassClient{publicstaticvoidmain(String[]args){Sessionsession=HibernateUtil.getSessionFactory().openSession0;Transactiontx=null;try{/

6、*开启一个事务*/tx=session.beginTransaction();/*从数裾库屮获取id="402881e534fa5a440134fa5a45340002••的Customer对象*/Customercustomerl=(Customer)session.get(Customer.class?H402881e534fa5a440134fa5a45340002n);System•out.printIn("customer.getUsernameis,,+customerl.getUsername(

7、));/*事务提交*/tx.commit();System,out.printIn("-/*开启一个新事务*/tx=session.beginTransaction();/*从数据库中获取id="402881e534fa5a440134fa5a45340002••的Customer对象*/Customercustomer2=(Customer)session.get(Customer•class.,H402881e534fa5a440134fa5a45340002H);System•out.printIn(,

8、,customer2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。