mybatis的多级缓存
时间: 2023-10-24 11:07:26 浏览: 100
Mybatis存在两个缓存级别,一级缓存和二级缓存。一级缓存是会话级的缓存,其生命周期仅存在于当前会话中,不可直接关闭,但可以通过flushCache和localCacheScope来控制其行为。二级缓存是应用级的缓存,缓存对象存在于整个应用的生命周期中,并且可以跨线程使用。为了解决分布式服务或微服务架构下数据不一致的问题,Mybatis还提供了自定义缓存的功能,我们可以集成第三方中间件如Redis来实现三级缓存。三级缓存可以作为二级缓存的补充,帮助解决分布式环境中的数据一致性问题。
相关问题
mybatis 的多级缓存机制
MyBatis是一个开源的持久层框架,它提了多级缓存机制来提高数据库访问性能。下面是MyBatis的多级缓存机制的介绍:
1. 一级缓存:也称为本地缓存,它是SqlSession级别的缓存。当SqlSession执行查询时,查询结果会被缓存到一级缓存中。同一个SqlSession中相同的查询会直接从一级缓存中获取结果,而不需要再次查询数据库。一级缓存默认是开启的,可以通过配置文件进行关闭。
2. 二级缓存:也称为全局缓存,它是Mapper级别的缓存。当多个SqlSession共享同一个Mapper接口时,它们会共享同一个二级缓存。当SqlSession执行查询时,查询结果会被缓存到二级缓存中。当其他SqlSession执行相同的查询时,会先从二级缓存中获取结果,如果没有命中,则再去查询数据库并将结果放入二级缓存中。二级缓存默认是关闭的,需要在配置文件中进行开启。
3. 三级缓存:也称为分布式缓存,它是集群环境下的缓存机制。当多个应用部署在不同的服务器上时,它们可以共享同一个分布式缓存。三级缓存需要使用第三方缓存框架来实现,比如Redis、Memcached等。通过配置文件进行相应的配置,使得MyBatis能够使用分布式缓存。
mybatis3和mybatis2有什么区别
MyBatis 2.x 和 MyBatis 3.x 的区别主要有以下几点:
1. API 的变化:MyBatis 3.x 去掉了一些过时的 API,同时也添加了一些新的 API,使得 API 更加简洁易用。
2. 配置文件的变化:MyBatis 3.x 的配置文件相对于 MyBatis 2.x 来说更加简洁明了,同时也支持更多的配置选项,比如在 MyBatis 3.x 中可以使用 `<resultMap>` 标签定义结果集映射,而在 MyBatis 2.x 中则需要在 `<select>` 标签中使用嵌套的 `<result>` 标签。
3. 插件的变化:MyBatis 3.x 中的插件机制相对于 MyBatis 2.x 来说更加灵活,可以在 SQL 执行过程中拦截更多的方法,比如在 MyBatis 3.x 中可以拦截 `update` 和 `delete` 方法,而在 MyBatis 2.x 中则只能拦截 `select` 方法。
4. 缓存的变化:MyBatis 3.x 中对缓存的支持更加灵活,可以通过注解或 XML 配置来控制缓存的使用,同时也支持多级缓存。
总之,MyBatis 3.x 相对于 MyBatis 2.x 来说在 API、配置、插件和缓存等方面都有很多改进和优化,使得使用更加方便和灵活。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)