mybatisplus一级缓存和二级缓存
时间: 2023-09-26 08:08:45 浏览: 175
MyBatis缓存(一级缓存、二级缓存)
MyBatis Plus 是一个基于 MyBatis 的增强工具,它提供了很多方便的功能来简化开发。关于一级缓存和二级缓存,它们都是 MyBatis 中的缓存机制。
一级缓存是指在同一个 SqlSession 中的查询结果会被缓存起来,当再次执行相同的查询时,直接从缓存中读取结果,避免了再次访问数据库。一级缓存是 MyBatis 默认开启的,可以提高查询性能,但是它的作用范围仅限于同一个 SqlSession 中。
二级缓存是指在不同的 SqlSession 之间共享缓存结果,使得多个 SqlSession 可以共享同一份缓存数据。二级缓存的作用范围更广,可以跨越多个 SqlSession 的边界。它能够提高多个会话之间相同查询的性能,但需要注意的是,二级缓存对于事务性操作(如插入、更新、删除)会自动失效。
要使用二级缓存,需要在 MyBatis 配置文件中进行配置,并且需要在对应的 Mapper 接口中添加 `@CacheNamespace` 注解或者在 XML 中配置 `<cache/>` 标签。
需要注意的是,一级缓存和二级缓存都是默认开启的,但可以根据需要进行配置和调整。在某些情况下,缓存可能会导致数据不一致,因此在使用缓存时需要根据具体业务场景进行合理的配置和使用。
阅读全文