hibernate缓存csdn - 威尼斯人

hibernate缓存csdn

2019-02-11 10:57:10 | 作者: 碧菡 | 标签: 数据,目标,运用 | 浏览: 6224

这是面试中常常问到的一个问题,楼主能够依照我的思路答复,准你答复得很完美,首要说下Hibernate缓存的效果(即为什么要用缓存机制),然后再具体说说Hibernate中缓存的分类状况,
最终能够举个具体的比如。
Hibernate缓存的效果:
  Hibernate是一个耐久层结构,常常拜访物理数据库,为了下降运用程序对物理数据源拜访的频次,然后进步运用程序的运转功用。缓存内的数据是对物理数据源中的数据的仿制,运用程序在运转时从缓存读写数据,在特定的时间或事情会同步缓存和物理数据源的数据
Hibernate缓存分类:
  Hibernate缓存包含两大类:Hibernate一级缓存和Hibernate二级缓存
Hibernate一级缓存又称为“Session的缓存”,它是内置的,不能被卸载(不能被卸载的意思就是这种缓存不具有可选性,有必要有的功用,不能够撤销session缓存)。因为Session目标的生命周期一般对应一个数据库业务或许一个运用业务,因而它的缓存是业务规模的缓存。榜首级缓存是必需的,不答应并且事实上也无法卸除。在榜首级缓存中,耐久化类的每个实例都具有仅有的OID。
Hibernate二级缓存又称为“SessionFactory的缓存”,因为SessionFactory目标的生命周期和运用程序的整个进程对应,因而Hibernate二级缓存是进程规模或许集群规模的缓存,有或许呈现并发问题,因而需求选用恰当的并发拜访战略,该战略为被缓存的数据供给了业务阻隔等级。第二级缓存是可选的,是一个可装备的插件,在默许状况下,SessionFactory不会启用这个插件。

什么样的数据合适存放到第二级缓存中?
1 很少被修正的数据
2 不是很重要的数据,答应呈现偶然并发的数据
3 不会被并发拜访的数据
4 常量数据
不合适存放到第二级缓存的数据?
1常常被修正的数据
2 .肯定不答应呈现并发拜访的数据,如财务数据,肯定不答应呈现并发
3 与其他运用同享的数据。

Hibernate查找目标怎么运用缓存?
当Hibernate依据ID拜访数据目标的时分,首要从Session一级缓存中查;查不到,假如装备了二级缓存,那么从二级缓存中查;假如都查不到,再查询数据库,把成果依照ID放入到缓存
删去、更新、添加数据的时分,一起更新缓存

Hibernate办理缓存实例
不管何时,咱们在办理Hibernate缓存(Managing the caches)时,当你给save()、update()或saveOrUpdate()办法传递一个目标时,或运用load()、 get()、list()、iterate() 或scroll()办法获得一个目标时, 该目标都将被加入到Session的内部缓存中。
当随后flush()办法被调用时,目标的状况会和数据库获得同步。 假如你不期望此同步操作发作,或许你正处理很多目标、需求对有用办理内存时,你能够调用evict() 办法,从一级缓存中去掉这些目标及其调集。

  这样自始至终一说的话,很全很具体,估量面试官对你的形象很好。不过也不要八面玲珑,楼主能够挑一些自己懂得的内容说,不是很懂的内容能够省掉,以免出漏子。

-

https://www.iteye.com/topic/249465
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2
  • 3
  • 4
  • 5

    hibernate缓存csdn

    数据,目标,运用
  • 6

    组合优于承继快报

    承继,目标,子类
  • 7

    跳出多层循环sina

    循环,符号,方法
  • 8

    servlet入门2alibaba

    办法,客户端,服务器
  • 9

    JAXB 的根本用法mingxing

    办法,特点,节点