首页 > 学院 > 开发设计 > 正文

Hibernate的缓存机制

2019-11-08 02:23:51
字体:
来源:转载
供稿:网友

缓存

数据存到数据库里,数据库本身是文件系统,使用流方式操作文件效率低;

数据存到内存里面,不需要使用流的方式,可以直接读取内存数据把数据放到内存中,提高读取效率

Hibernate 缓存

hibernate 框架中提供多种优化方式,其中缓存机制就是其一

hibernate 缓存特点

第一类:一级缓存

hibernate默认打开一级缓存一级缓存使用范围:session范围,从session创建到session关闭hibernate一级缓存中,存储的数据必须是持久态数据(实体类有3中状态)

第二类:二级缓存

目前已经不使用,替代技术redis默认不打开使用范围,是sessionFactory范围

验证一级缓存方式

根据id重复查询(根据是否发送sql语句)//第一次查询User user1 = session.get(User.class, 2);System.out.PRintln(user1);//第二次查询User user2 = session.get(User.class, 2);System.out.println(user2);/* -- 执行结果 -- 第一次查询:hibernate底层会发送sql语句到数据库查询数据 -- 第二次查询:hibernate不会通过sql语句查询,而是根据缓存的内容返回 Hibernate: select user0_.uid as uid1_0_0_, user0_.username as username2_0_0_, user0_.passWord as password3_0_0_, user0_.address as address4_0_0_ from t_user user0_ where user0_.uid=? User [uid=2, username=李白, password=123456, address=广东广州] User [uid=2, username=李白, password=123456, address=广东广州]*/

一级缓存的执行过程

一级缓存

hibernate一级缓存特性

持久态会自动更新数据库

执行原理 自动更新数据库


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表