Session 与SessionFactory

      hibernate使用的是二级缓存,有两个级别,分别是Session,SessionFactroy级别,一级缓存是Session级别的缓存,Hiberante来管理的,这个我们一般不用管,二级缓存是SessionFactory级别的,可以进行配置和更改,加载卸载,应该就是我们平时用的hibernate配置文件中的配置SessionFactory的属性。

 

      如果拿servlet里面的seesion对象来理解hibernate中的session比较容易去贯通,因为一级缓存中的session事物进别进行数据的预存取,数据在各个session的上下文中存在(注意单例),session关闭,整个所有session范围内的数据全部清空,session.close();二级缓存默认的情况下是不开启的,如果开启,数据库汇总的所有数据都先copy到二级缓存中,这里要注意的是,一级缓存是每个线程下创建的session缓存区域,可以是多个,而二级缓存只有一个区域。

     

      一级缓存的生命周期是随着sesion的关闭而over,二级缓存的生命周期伴随着进程的整个周期,进程终止,二级缓存也消亡,二级缓存可以灵活设置存亡时间这些information evict clear管理一级缓存,evict方法从缓存中清楚指定的持久化对象,clear方法清楚所有持久化对象,就是我一开始写的那几行代码。

 

      二级缓存有4种数据库并发策略(自己一般都禁止并发,采用默认级别,似乎暂时还没感觉效率有什么低,主要不涉及关键数据,所以有时候没必要追究的那么详细(*^__^*) )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值