+
95
-

hibernate的 一级与二级缓存有什么区别?

hibernate的 一级与二级缓存有什么区别?

网友回复

+
15
-

(1)一级缓存

是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中,如果短时间内这个session(一定要同一个session)又做了同一个操作,那么hibernate直接从一级缓存中拿,而不会再去连数据库中取数据; (2)二级缓存 是SessionFactory级别的缓存,顾名思义,就是查询的时候会把查询结果缓存到二级缓存中,如果同一个sessionFactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果,而不会再去连接数据库; (3)Hibernate中提供了两级Cache 第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预; 第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 此外Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存;

二、一级缓存和二级缓存的比较

1)第一级缓存 第二级缓存 存放数据的形式...

点击查看剩余70%

我知道答案,我要回答