Hibernate 缓存配置

一级缓存

 

1.Hibernate默认开启一级缓存(session)

运行结果:(第一次查询后将数据存入一级缓存【session】------第二次查询先进入session查找有没有数据,有数据直接带回【没有数据才会去数据库拿数据】,所以这里只有出现一条sql语句)

 

 2.清空一级缓存【session】中的数据

运行结果: 第一次查询后,将数据存入一级缓存【session】,但是被手动清空后,【session中没有了数据】,查询操作会再次直接访问数据库,所以出现了两条sql语句

 

二级缓存

 

1.下载二级缓存相应jia包(第二个jar包可有可无,被我随机捕获到截图了

2.在根目录(src)下加入缓存配置文件:ehcache.xml,配置缓存管理的对象;

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
    <diskStore path="java.io.tmpdir"/>
    <defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        />
</ehcache>

3.在实体配置文件中:xxx.hbm.xml添加开启缓存标签,<cache>:是否缓存该对象;

4.在hibernate.cfg.xml配置缓存的全局数据;

<!-- 二级缓存配置 -->
		<!--开启二级缓存 -->
		<property name="hibernate.cache.use_second_level_cache">true</property>
		<!-- 指定使用哪一个缓存框架 -->
		<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
		<!-- 开启查询缓存 -->
		<property name="hibernate.cache.use_query_cache">true</property>

5.测试代码

 

6.开启缓存前(关闭了一级缓存

开启二级缓存后(在二级缓存中找到了存在感【数据】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值