Hibernate缓存

来源:互联网 发布:网络工程和软件开发 编辑:程序博客网 时间:2024/05/16 11:23
Hibernate缓存
    缓存介绍:

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

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

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

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

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

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

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

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

        实例展示:

                    一级缓存:

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

                   的,session关闭,缓存消失

                                 

                   二级缓存

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

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

           

        查询缓存

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

            



0 0
原创粉丝点击