Hibernate二级缓存

1、缓存定义

缓存(Cache):计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,
其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。
缓存中的数据是数据存储源中的数据拷贝。
缓存的物理介质通常是内存。

如果缓存存在内存不够用,可以将缓存临时写入文件(硬盘)

虚拟内存:将内存中一部分不常用的写到硬盘中去

2、二级缓存介绍

2.1、一级缓存:

session级别缓存,hibernate实现了,必须使用的。

一级缓存用户自己共享数据

2.2、二级缓存:

SessionFactory级别缓存,hibernate提供规范(接口),如果需要使用必须有实现类(第三方实现)。

二级缓存默认不使用的,如果需要使用必须手动配置

二级缓存:用户之间共享数据

2.3、SessionFactory缓存:

内置缓存:Hibernate自带的,不可卸载,用于存放配置信息(例如:命令查询hql语句等),只读的,hibernate自己使用,我们不能操作的
外置缓存:二级缓存,需要配置

2.4、二级缓存结构


1.类缓存
2.集合缓存
3.时间戳
4.查询缓存:三级缓存(非官方)

2.5、并发访问策略


read-write :读写型(要掌握)
read-only :只读型(要掌握)

2.6、存放的数据对比

适合放入二级缓存中的数据:
很少被修改
不是很重要的数据,允许出现偶尔的并发问题

不适合放入二级缓存中的数据:
经常被修改
财务数据,绝对不允许出现并发问题
与其他应用数据共享的数据

2.7、提供商(第三方实现)

3、二级缓存配置(要掌握)

3.1、步骤

1.导入jar包
2.开启二级缓存
3.确定提供商
4.确定需要缓存内容
5.第三方配置文件

3.2、导入jar包

核心:

ehcache-1.5.0.jar

依赖:

backport-util-concurrent-2.1.jar
commons-logging-1.1.1.jar

开启二级缓存

hibernate.cache.use_second_level_cache  =  true

二级缓存提供商

hibernate.cache.provider_class =  org.hibernate.cache.EhCacheProvider

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值