文章目录1、缓存概述2、MyBatis缓存3、MyBatis缓存原理
MyBatis缓存和原理
MyBatis一级缓存
我的MyBatis缓存
一、缓存概述什么是缓存?
缓存是指位于内存的临时数据将用户经常查询的数据放入缓存中,用户通过查询数据,再次访问数据库和硬盘
答:用户什么样的数据能使用缓存?且经常查询的数据
二、MyBatis缓存MyBatis包含非常强大的查询缓存功能,可以方便地定制和配置缓存。
MyBatis默认为不经常改变和一级缓存
默认情况下,只有l1缓存处于打开状态。 这是SqlSession级别的缓存,具有从SqlSession启动到关闭的生命周期。 通常,l1缓存也是本地缓存l2缓存,必须根据映射级缓存手动启用。 也就是说,您定义了一个缓存接口Cache,通过该接口可以打开l2缓存mapper.XML文件(如果存在***Mapper.xml文件)。 通过实现缓存接口,可以自定义l2缓存3、MyBatis缓存的原理,如下图所示。
用户访问数据库的顺序:
首先,如果辅助缓存在主缓存中没有查询数据库,则在sqlSession关闭时,检查主缓存是否自动提交给辅助缓存