mybatisPlus 一级缓存
时间: 2023-08-15 10:06:56 浏览: 107
SpringBoot+MybatisPlus+Redis,涉及分页、缓存等_rezip.zip
MyBatis Plus 与 MyBatis 框架类似,也提供了一级缓存的功能。一级缓存是指在同一个 SqlSession 中,对于相同的查询,MyBatis Plus 会将查询结果缓存在内存中,下次再执行相同的查询时,直接从缓存中获取结果,而不需要再次访问数据库。
一级缓存的默认开启状态是开启的,不需要额外的配置。在同一个 SqlSession 中,只要查询语句相同且参数相同,就会使用缓存。当执行了增删改操作时,会清空该 SqlSession 的所有一级缓存,以保证数据的一致性。
需要注意的是,一级缓存是基于对象的引用的,所以如果两次查询的结果是同一个对象,那么对其中一个对象进行修改,另一个对象也会受到影响。如果希望禁用一级缓存,可以在查询语句的注解或 XML 配置中添加 `@Options(useCache = false)` 或 `useCache="false"`。
除了一级缓存,MyBatis 还提供了二级缓存的功能,可以跨 SqlSession 进行缓存共享。但需要注意,二级缓存需要手动进行配置和开启,并且需要注意缓存的有效性和数据一致性。
阅读全文