hibernate 一级缓存 二级缓存

8 篇文章 0 订阅

1.什么事缓存?

   指为了降低应用程序对物理数据源(mysql)访问数次。从而提高应用程序的运行性能

2.为什么需要缓存?

  ORM框架--去访问数据库的速度,直接影响到程序的运行速度。所以优化ORM访问效率比较重要。

 hibernate的缓存是提升和优化Hibernate访问效率。

3.缓存工作原理?

 

4.一级缓存?

   session缓存,会话缓存。

  2.通过session查询数据库时,查出数据存储在内存中。下次查询相同数据时,就可以直接在缓存中读取。

  3.一级缓存生命周期与session相同。session销毁,一级缓存也销毁。

  4.一级缓存只适合当前连接之内。

5.一级缓存API?

   一级缓存是无法取消,管理“”:

    1.evict():实际就是指定要清除的对象。

    2.clear():清除所有对象。

  3.对程序的性能有一定的影响


6.二级缓存?

  1. 添加二级缓存的jar包。

  2. 在hibernate.cfg配置文件中添加Provider类的描述。

    <property name="cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>

   3.在实体映射文件hbm.xml中添加 <cache/>开启

    <cache  usage="read-only"/>

<cache usage="read-only" include="all" region=""/>

region:指定二级缓存的域名:
include:指定是否缓存延迟加载,all表示缓存所有对象,on-lazy表示不延迟加载

7.一级缓存与二级缓存区别?

  二级缓存:全局缓存,应用级缓存。适用当前的所有会话,

 什么情况下适用二级缓存?

    很少被修改的数据。不是很重要的数据,允许偶尔并发的数据。不会被并发访问的数据。参考数据


*******

  hibernate缓存提高了查询效率时,也增加了服务器的消耗。注意缓存的使用方式。

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值