一级缓存:
基于sqlsession级别的缓存,默认是开启状态,基本可以理解为namespace空间下的同一条sql语句,分别的执行了2次(在spring同一个事物中,不在同一事物会失效),然后命中后,一级缓存生效。
二级缓存:
同一个namesapce(Mapper)空间下,相对于一级缓存而言,范围更广,多个执行结果相同的sql,就会命中。
二级缓存手动配置,如下:
https://www.cnblogs.com/viewts/p/13215346.html
提出问题:
既然有二级缓存和一级缓存为什么还要redis:
因为mybatis的一级缓存和二级缓存默认是单机版的,无法支持多个服务器的session共享,redis是集群是的缓存框架,可以支持分布式集群缓存。