MyBatis:查询缓存关联及一级缓存
2018-01-09 17:17
176 查看
缓存工作原理
查询缓存介绍:
我们查询通过网络连接数据库服务器,会受网络带宽的限制,所以我们在应用服务器的内存中开辟块空间,即缓存空间,里面盛放的是多个查询结果。缓存工作原理:执行查询时,先到缓存中查看有没有,如果有直接返回,没有再去DB中查询,查到的结果先给缓存,再给sql。
MyBatis查询缓存分类:
(1)、一级缓存(Sqlsession缓存):其默认是开启的,无法关闭,作用范围为namespace,生命周期同整个SqlSession相同
(2)、二级缓存:默认关闭,若使用必须开启,作用范围同一级缓存,但是生命周期和整个应用相同
一级缓存:
底层原理:一级缓存的底层实现是一个map,其value是查询结果,而key由三部分构成(hashcode+statementId+SQL语句)。每次select先到缓存中查找key,有则读取value并返回,没有去DB中查找,找到先组建后放到map中。增删改对一级缓存影响:会刷新(清空)一级缓存【因为数据库修改了,若不刷新会拿到脏数据】
相关文章推荐
- MyBatis:查询缓存关联及一级缓存
- mybatis进阶(7)--查询缓存之一级缓存
- MyBatis--查询缓存--一级缓存依据
- Mybatis 查询缓存
- node.js-ORM数据库框架sequelize使用总结 超时查询、缓存查询、多表关联查询
- mybatis实战教程(mybatis in action)之四:实现关联数据的查询
- mybatis一对多关联查询——(九)
- 性能优化(一)Hibernate 利用缓存(一级、二级、查询)提高系统性能
- MyBatis关联 查询之多对多查询
- mybatis一对一关联查询无法查出关联对象的数据的解决
- mybatis中一级缓存
- MyBatis学习笔记(五)——实现关联表查询
- MyBatis学习总结(五)——实现关联表查询
- mybatis一对多关联查询
- Mybatis总结(5)--实现关联表查询(一对一、一对多)
- MYBATIS事务内的查询缓存
- mybatis学习笔记三(实现关联数据的查询)
- myBatis 中查询多表数据时使用association处理一对一关联
- mybatis系列八:一对多关联查询