一级缓存
:是sqlsession级别
的缓存,当前作用域为sqlsession,默认开启
,通过<cache>
标签可以配置,只有SQL语句和参数值完全相同的SQL,才可以使用该缓存;
二级缓存
:主要是全局缓存
,多个sqlsession
共享数据,作用域是同一个namespace
下的所有sqlsession,默认是关闭
的,通过cacheEnabled字段可以开启;
查询流程:
先查询二级缓存,在查找一级缓存,最后查找数据库;缓存清空时机
:执行insert\update\delete方法会清空缓存,或者自己配置缓存失效参数。