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) 与其他应用共享的数据。

posted @ 2016-10-18 20:09  夏文杰  阅读(66)  评论(0)    收藏  举报