hibernate一级缓存 二级缓存

    xiaoxiao2021-12-01  19

    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缓存提高了查询效率时,也增加了服务器的消耗。注意缓存的使用方式。

        

    转载请注明原文地址: https://ju.6miu.com/read-679368.html

    最新回复(0)