mybatis的一级、二级缓存
Mybatis的一级、二级缓存
一级缓存:基于 PerpetualCache的HashMap本地缓存,其存储作用域为Session,当Session进行flush或 close之后,该Session中的所有Cache就将清空,默认打开一级缓存
二级缓存是基于namespace和mapper的作用域起作用的,不是依赖于SQLsession,默认也是采用 PerpetualCache,HashMap存储。需要单独开启,一个是核心配置,一个是mapper映射文件
Mybatis的二级缓存什么时候会清理缓存中的数据
当某一个作用域(一级缓存Session/二级缓存Namespaces)的进行了新增、修改、删除操作后,默认该作用域下所有select 中的缓存将被clear.