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