Hibernate二级缓存

 

何为Hibernate 的缓存

  • 缓存(Cache): 计算机领域非常通用的概念。它介于应用程序和永久性数据源(硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行速度,缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存。
  • Hibernate中提供了两个级别的缓存
    • 第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存,这一级别的缓存是由Hibernate管理的
    • 第二级别的缓存是SessionFactroy级别的缓存,它是属于进程范围的缓存,SessionFactory 级别的缓存又可以分为两类:
      • 内置缓存:Hibernate 自带的缓存,不可卸载,通常在Hibernate的初始化阶段, Hibernate 会把映射元数据和预定义的SQL 语句放到SessionFactroy 缓存中,映射元数据是映射元数据(.hbl.xml文件中的数据)的复制。该内置缓存是只读的。
      • 外置缓存(二级缓存):一个可配置的缓存插件。在默认情况下SessionFactroy 不会启用这个缓存插件,外置缓存是数据库中的数据的复制,外置缓存的物理介质可以是内存或者硬盘。

 

如何使用Hibernate 的二级缓存

  • 适合放入二级缓存中数据:
    • 很少被使用的
    • 不是很重要的数据,允许偶尔出现并发问题的数据(因为是缓存,所以里面存的可能不是最新的)
  • 不适合放入二级缓存中的数据:
    • 经常被修改的数据
    • 财务数据,绝对不允许出出现并发问题的数据
    • 与其他应用程序共享的数据

 

Hibernate 二级缓存的架构

 

Hibernate 二级缓存的并发访问策略

 

管理Hibernate 二级缓存

 

posted on 2016-03-01 09:11  我表情悠哉  阅读(131)  评论(0编辑  收藏  举报

导航