mybati s一级二级缓存
时间: 2023-06-25 07:03:55 浏览: 54
MyBatis提供了一级缓存和二级缓存来提高数据库访问的效率。
一级缓存是MyBatis中默认开启的缓存,它是SqlSession级别的缓存,也就是说,同一个SqlSession中,相同的SQL查询只会执行一次,并且查询得到的结果会被缓存起来,后续再执行同样的查询,直接从缓存中获取结果,而不会再去执行SQL语句。一级缓存的生命周期与SqlSession的生命周期相同,当SqlSession关闭时,一级缓存也会被清空。
二级缓存是基于namespace级别的缓存,它可以被多个SqlSession共享,因此可以在多个SqlSession之间共享数据。当一个查询语句被执行时,MyBatis会先从二级缓存中查找结果,如果找到了就直接返回结果,否则再去数据库中查询。二级缓存的数据会被序列化后存储在内存或磁盘中,因此可以跨进程或服务器共享数据。但是,二级缓存需要手动配置和开启,并且需要注意缓存数据的一致性和更新问题。
总的来说,一级缓存是轻量级的,只能在单个SqlSession中使用,而二级缓存可以在多个SqlSession之间共享数据,但需要手动配置和管理。在使用缓存时,需要根据具体场景选择合适的缓存策略。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)