hibernate中的三级缓存与加载

来源:互联网 发布:软件打不开是什么原因 编辑:程序博客网 时间:2024/06/05 03:33

首先说JCS;

JCS:指的是java cache system

JCS中是依据对象中的唯一标示进行存储 存储结构为map结构

为什么要说JCS呢,因为hibernate的缓存二级缓存与JCS密切相关,

1.什么是三级缓存呢?

        一级缓存:指的是Session缓存,基于线程的缓存

        二级缓存 指的是SessionFactory的缓存,是基于进程的缓存 (由于SessionFactory的声明周期和程序的声明周期是相同的,并且是单例的)

                 二级缓存又分为内置缓存和外置缓存

                      内置缓存是hibernate中自己编写的

                      外置缓存是hibernate借助第三方插件的缓存

                               外置缓存又分为class缓存和查询缓存

                                       这两种缓存都采用的是map结构,前者的key保存的是sql语句的字符串,value保存的是主键id的集合

                                                                                                   后者的key保存的是id,value保存的是id所对应的某一条记录封装后的对象


       三级缓存 :指的是外置缓存中的查询缓存

                 由于查询缓存依赖于class缓存,所以说三级缓存是基于二级缓存之上的.

 好吧,讲了这么多,缓存相信也讲的很明了了吧,接下来说说数据的加载吧,数据的加载与缓存有关系的,所以先讲述了三级缓存机制

    加载机制分为两类:

                                       一,即时加载  ,

                                                  list方法:发送sql语句,将会返回所有相关的数据,并进行缓存

                                                 get方法,利用对象的id,然后去一级缓存中找,如果有返回,否则去二级缓存中找,如果有返回,否则直接去数据库查找

                                     二.    延时加载(在hibernate中也成为懒加载)

                                                   iterator方法发送sql语句,将会返回所记录的id集合,如果需要查看相应的属性值,则回去二级缓存的class缓存中根据id进行查找,如果没有,                                                 才会去数据库中根据id查找

                                                   load方法 利用对象的id,然后去一级缓存中找,如果有则返回,如果没有,则不再去二级缓存中寻找,默认有,会返回对象的代理对象,如果查                                                   看对象属性的的话,才去二级缓存查找,如果没有再去根据id进行数据库访问


1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 过了上诉期和申诉期该怎么办 北外大四学生要实习半年课程怎么办 电脑发给手机的文件过期了怎么办 农民给土地卖了30年后怎么办 家长发家长群作业太多老师怎么办 在考试中心补不了四级成绩怎么办 微信登录密码不记得了怎么办 欠农民工工资不给怎么办老板说没钱 国外期刊催问稿件不理睬怎么办 老公离不开老婆也离不开小三怎么办 出轨被老婆发现还和小三联系怎么办 老公出轨后回家老婆不想原谅怎么办 小三和原配打架都住院了怎么办 毕业太多年查不到学历认证怎么办 没有做税种核定开了票怎么办 在学信网上查不到学历信息怎么办 学信网手机号换了密码忘了怎么办 学信网手机号换了密码也忘了怎么办 学信网上学习形式是星号怎么办 新手机号已被注册微店买家怎么办 微信号被冻结了里面的钱怎么办 不懂公司产品却要接待老外怎么办 上菜时发现桌面摆不下新菜怎么办 超市买到过期产品商家不赔尝怎么办 皇帝成长计划2俘虏的士兵怎么办 晚上楼上有挪桌子的声音怎么办 金灶茶具出故障码e7怎么办 起亚k2灯泡掉进大灯总成怎么办 衣服上拆过线的针孔怎么办 驾考科目二坡道定点熄火怎么办 穿着超短裤感觉要漏屁股怎么办 台式电脑开机后无法进入系统怎么办 产后两年了肚子肥胖松弛怎么办 在作文中写上自己的名字怎么办 外出玩耍时迷路了你会怎么办 外出玩耍时孩子总喜欢乱跑怎么办? 如果真的物价高的受不了怎么办 每晚要5次真的受不了怎么办 五年级的学生钢笔字写不好怎么办 全麻醉药过后让人产生幻觉怎么办? 网贷小象优品上被别人冒用了怎么办