【Mybatis面试题】Mybatis缓存机制

时间:2024-04-01 21:00:00

一级缓存:是sqlsession级别的缓存,当前作用域为sqlsession,默认开启,通过<cache>标签可以配置,只有SQL语句和参数值完全相同的SQL,才可以使用该缓存;

二级缓存:主要是全局缓存多个sqlsession共享数据,作用域是同一个namespace下的所有sqlsession,默认是关闭的,通过cacheEnabled字段可以开启;

查询流程:先查询二级缓存,在查找一级缓存,最后查找数据库;
缓存清空时机:执行insert\update\delete方法会清空缓存,或者自己配置缓存失效参数。