Hibernate缓存

Hibernate缓存
    缓存介绍:

                     缓存分为:一级缓存,二级缓存和查询缓存

                   一级缓存Session 级别的缓存,在同一个SessionFactory工厂,把数据存在Session中。在取数据的时候

                            只要Session不关闭,我们就可以在缓存中取到内存地址相同的数据

                   二级缓存SessionFactory级别的缓存,在同一个SessionFactory工厂,只要SessionFactiry工厂不关闭,

                            无论我们建多少Session对象,缓存是一直存在的。我们就可以在缓存中取到内存地址相同的数据,

                            不过二级缓存需要使用缓存依赖包,并且需要配置二级缓存有关的配置信息

                   查询缓存:级缓存需要的东西大致和二级缓存相似,但是和二级缓存没有很大的关系,在三级缓存

                             中,setCacheable()起到关键作用,目的是使对象具有缓存的功能。

        实例展示:

                    一级缓存:

                          如果Session关闭那么取到的就不是同一条数据,内存地址变了,说明一级缓存是基于session

                   的,session关闭,缓存消失

                                 

                   二级缓存

                               我们可以看出二级缓存和Session的开关无关,只与SessionFactory有关。当SessionFactory关闭时在执

           行时我们会看到两条SQL,说明缓存消失。

           

        查询缓存

                         如果关闭二级缓存,默认会开启查询缓存(三级缓存)

            



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值