初识Mybatis----缓存

1.缓存是什么?

当我们每次对数据库中的数据进行查询的时候,会消耗很多资源,为了避免重复查已经查过的数据与,我们使用了内存进行存数据,每次进行查询的时候,优先看内存中是否存在此数据,以减少对数据库的查询

2.为什么使用缓存?
1.减少和数据库的交互次数,减少系统开销,提高系统效率
3.什么样的数据可以使用缓存?
1.经常查询并且不经常改变的数据 【可以使用缓存】

Mybatis缓存

一级缓存

是Session级别的缓存,默认开启,当我们使用Session对数据库进行查询,然后将查询到的内容放置进入内存区,若第二次查询还为此数据,则直接从中取出,也称为本地缓存

缓存失效的情况

1.当我们进行增删改操作的时候,一级缓存会失效

2.查询不同的东西

3.查询不同的Mapper

4.手动清理了缓存

sqlSession.clearCache();

二级缓存

又叫做全局缓存,是因为一级缓存作用域太低了所以诞生了二级缓存

基于namespace的,一个mapper就有一个二级缓存

使用步骤

1.开启全局缓存

2.在mapper中进行设置

小结

  • 只要开启了二级缓存,在同一个Mapper下就有效
  • 所有的数据都会放在一级缓存中
  • 只有当前会话提交,或者关闭的时候,才会提交到二级缓存中
  • pojo对象需要实现序列化接口

你可能感兴趣的:(Mybaits)