hibernate 缓存机制
缓存作用:
hibernate作为一个数据持久化框架,会经常访问数据库。为了将访问数据源的次数减少,从而提高项目的运行效率和性能。缓存内的数据是对物理数据源中的数据进行复制,程序在运行时从缓存中读取数据,在特定的时间里或者事件中更新同步缓存和数据源中的数据。
缓存原理:
hibernate缓存分为两大类:hibernate一级缓存和hibernate二级缓存;
1.hibernate一级缓存(session缓存):
Session内置不能被卸载,Session缓存是在一个事务范围内的(Session生命周期对应着一个事务或一个对数据库的操作),在一级缓存中,持久化类的每一个实例都有一个唯一的oid。
2.hibernate二级缓存(sessionFactor缓存)
由于sessionFactory对象的生命周期对应着应用程序的整个过程,有可能出现并发问题,因此需要采用适当的并发访问策略,该策略为被缓存的数据提供了事务隔离级别。
二级缓存是可选的,是一个可配置的插件,默认下SessionFactory不会启用这个插件。
Hibernate提供了org.hibernate.cache.CacheProvider接口,它充当缓存插件与Hibernate之间的适配器。
什么样的数据适合存放到第二级缓存中?
1) 很少被修改的数据
2) 不是很重要的数据,允许出现偶尔并发的数据
3) 不会被并发访问的数据
4) 常量数据
不适合存放到第二级缓存的数据?
1) 经常被修改的数据
2) 绝对不允许出现并发访问的数据,如财务数据,绝对不允许出现并发
3) 与其他应用共享的数据。

浙公网安备 33010602011771号