Hibernate二级缓存

来源:互联网 发布:数据透视表 编辑:程序博客网 时间:2024/06/05 00:28

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.jarcommons-logging-1.1.1.jar

开启二级缓存

hibernate.cache.use_second_level_cache  =  true

二级缓存提供商

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

0 0
原创粉丝点击