127.Hibernate二级缓存

在项目中,有些数据几乎不会改变,作为共享数据来使用的时候,它们就是二级缓存。

Hibernate并没有提供二级缓存的解决方案。但是市面上有解决二级缓存的第三方组件,如:EhCache、OsCache、JbossCache、MomeryCache等。

特性:  1.修改不能特别频繁。

           2.数据可以公开。

二级缓存在SessionFactory中,因为SessionFactory是线程安全的,所以二级缓存也是线程安全的。

二级缓存的生活周期和SessionFactory一样。

怎么样把数据放入二级缓存?

怎么样把数据从二级缓存中提取出来?

Hibernate默认二级缓存是关闭的。所以需要在

1.hibernate.cfg.xml中配置二级缓存。5.0这么配置不对

  1. 在Mapping文件中配置。注意<cache>的位置必须在<id>之前

 

session.get方法的作用:1.把一个对象变成持久化状态的对象。2.把该对象存放到session的一级缓存中。3.把该对象存入sessionFactory的二级缓存中。

session.clear方法清除一级和二级缓存。

session.save方法特殊,它只放入一级缓存,不放入二级缓存。

session.flush会把数据放入二级缓存中。

session.get、session.load、session.update都放入二级缓存。

session.get和load方法都可以从二级缓存获取数据。

二级缓存非常危险,线程不安全,所以一般公司都设置成read-only,只把常量放里面。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值