Hibernate之缓存机制

缓存:就是数据交换的缓冲区(Cache),先于内存与CPU交换数据,因此速率很快,当某一硬件要读取数据是,会首先从缓存中查找需要的数据,如果能找到则直接执行,如果找不到则从内存中找,由于缓存的运行速度比内存块的多.故缓存的作用就是帮助硬件更快的运行.
缓存的范围分类
应用程序中根据缓存的范围,将缓存分为三类
(1)事务范围缓存—一级缓存,session缓存,只能被单钱事务访问,缓存的生命周期依赖于事务的生命周期.当事务结束时,缓存的生命周期同时结束.事务范围的缓存可以使用内存作为存储介质..
Hibernate的一级缓存属于应用范围缓存
(2)应用范围缓存,可以被应用程序内的所有事务共享访问,缓存的生命周期依赖于应用的生命周期.当应用结束时,缓存的生命周期同时结束.应用范围的缓存可以使用内存或硬盘作为存储介质.
Hibernate的二级缓存属于应用范围缓存
(3)集体范围缓存
集体范围缓存,是多SessionFactory缓存,在集群环境中,缓存被一个机器或多个机器的进程共享,缓存中的数据被复制到集群环境中的每个进程节点,进程间通过远程通信保证缓存中数据的一致性.
缓存中的数据通常采用对象的松散数据形式,有些Hibernate的二级缓存的第三方插件支持集群范围缓存.

一级缓存

一级缓存就是Session缓存,(内存中的一块空间:内存中存在相互关联的Java对象)
session缓存是事务级缓存,有hibernate管理,是hibernate内置的,不能被程序员取消.
当程序调用Session的load()方法,get()方法,save()方法,saveOrUpdate()方法,update()或者Query()接口方法是,hibernate会对实体对象进行缓存.

通过get()或者load()方法查询实体对象,先去缓存中查找,如果找不到实体对象的情况下,发起SQL语句去数据进行查询.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值