美文网首页
Mybatis的缓存机制

Mybatis的缓存机制

作者: qnmdaq | 来源:发表于2021-03-11 14:08 被阅读0次

Mybatis的缓存机制

缓存的顺序:先查二级缓存再去一级缓存

默认两级缓存

一级缓存:(本地缓存)  sqlSession级别的缓存(存在Map中) 与数据库同一次会话期间查到的数据会放在本地缓存中。

                以后如果需要获取相同的数据,直接从缓存中拿,没必要再次查询数据库。

      缓存失效:1..sqlSession不同  

                        2.sqlSession相同,查询条件不同 

                        3.sqlSession相同,两次查询之间执行了增删改操作

                        4.sqlSession相同,手动清除了一级缓存

二级缓存:(全局缓存)基于namespace级别的缓存,一个namespace对应一个二级缓存

                工作机制:<cache></cache>

                 1.一个会话,查询一条数据,这个数据就会被放在当前的一级缓存中;

                  2.如果会话关闭一级缓存中的数据会被保存到二级缓存中,新的会话查询信息,就可以参照二级缓存

                  3.不同的namespace查出的数据会放在自己对应的缓存中(map)

               查询的数据都会被默认先放在一级缓冲中,只有会话提交或者关闭以后,一级缓冲中的数据才会转移到二级缓存中

相关文章

网友评论

      本文标题:Mybatis的缓存机制

      本文链接:https://www.haomeiwen.com/subject/cwgnqltx.html