mybatisplus 缓存开启
时间: 2023-10-09 21:16:11 浏览: 91
Mybatis-plus的缓存可以通过在application.yml中进行配置来开启。在配置文件中,将mybatis-plus的cache-enabled属性设置为true即可开启二级缓存。默认情况下,Mybatis只开启一级缓存,需要手动开启二级缓存。一级缓存只对于同一个SqlSession有效,而二级缓存则是对于所有的SqlSession都有效。在缓存的优先级中,二级缓存高于一级缓存,而查询数据库则是最低优先级。
相关问题
mybatisplus 缓存
Mybatis-Plus是一个Mybatis框架的增强插件,它提供了简单的配置和快速进行CRUD操作的功能。在Mybatis-Plus中,缓存级别分为一级缓存和二级缓存。
一级缓存是Mybatis框架默认开启的,它是指在同一个SqlSession中,如果执行相同的查询语句,那么Mybatis会将查询结果缓存起来,下次执行相同的查询语句时,直接从缓存中获取结果,而不会再次去数据库查询。一级缓存的作用范围是在同一个SqlSession中,当SqlSession被关闭后,缓存也会被清空。
二级缓存是全局缓存,也称为mapper级别的缓存,它可以在多个SqlSession之间共享缓存结果。二级缓存的默认机制是采用PerpetualCache和HashMap存储缓存结果,所以默认是本地缓存。不同之处在于二级缓存的存储作用域是Mapper(Namespace),可以供多个SqlSession共享。可以通过配置来启用二级缓存,并且可以自定义存储源,如Ehcache、Redis等。
总结来说,Mybatis-Plus提供了一级缓存和二级缓存两种缓存级别。一级缓存在同一个SqlSession中有效,而二级缓存在多个SqlSession之间共享。开发人员可以根据具体的需求选择是否启用缓存,并可以自定义缓存的存储源。
: MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大地提升查询效率。
: Mybatis-Plus是一个Mybatis框架的增强插件,根据官方描述,MP只做增强不做改变。它提供了简单的配置和快速进行CRUD操作的功能,包括代码生成、分页、性能分析等。
: 二级缓存也称为全局缓存,是mapper级别的缓存。它可以在多个SqlSession之间共享缓存结果,存储作用域为Mapper(Namespace)。默认使用PerpetualCache和HashMap存储,可以自定义存储源。
mybatis缓存和mybatisplus缓存
MyBatis和MyBatis-Plus都支持缓存,但它们在缓存实现和配置上有些许差异。
MyBatis的缓存机制是基于一级缓存和二级缓存。一级缓存是SqlSession级别的缓存,它默认开启且不可关闭。在同一个SqlSession中执行相同的查询语句,第一次会从数据库中读取数据,并将结果缓存在一级缓存中。后续执行相同的查询语句时,会直接从一级缓存中获取数据,避免了再次访问数据库。一级缓存的作用范围仅限于同一个SqlSession中,当SqlSession关闭后,一级缓存也会被清空。
而二级缓存是基于Mapper级别的缓存,它可以被多个SqlSession共享。开启二级缓存需要在MyBatis配置文件中进行配置,并在Mapper接口上添加`@CacheNamespace`注解。二级缓存默认是不开启的,需要手动进行配置。二级缓存可以跨越多个SqlSession,在同一个Mapper接口的不同SqlSession中执行相同的查询语句,第一次查询会将结果缓存在二级缓存中,后续查询会直接从二级缓存中获取数据。
MyBatis-Plus是在MyBatis的基础上进行封装和增强的框架,它默认集成了MyBatis的缓存机制。因此,MyBatis-Plus的缓存机制与MyBatis基本一致。也包括一级缓存和二级缓存,使用方法与MyBatis类似。只是在使用MyBatis-Plus时,不需要手动进行二级缓存的配置,它会自动根据Mapper接口的`@Mapper`注解进行配置。
总结起来,MyBatis和MyBatis-Plus都支持一级缓存和二级缓存的使用,但在配置上有些许差异,MyBatis-Plus相对更为简便一些。
阅读全文