数据库缓存分为2个级别
1.默认级别 一级缓存 本地缓存 sqlsession级别 在同一个sqlsession里使用同一条sql查询2次 第二次不会查询数据库 会直接从缓存里取数据
Connection 在mysql中的实现是用 ThreadLocal实现 好处是不需要在一个sqlsession里操作多个sql时重复的实例化Connection 直接从Threadlocal里取
2.全局缓存 二级缓存 namaspace级别 需要开启
<settings><setting name="cacheEnabled" value="true"/></settings>
因为是namespace级别,需要搭配每个xxxMapper.xml中配置二级缓存<cache></cache>
在使用sql查数据的时候 首先会查询二级缓存 ----> 一级缓存 ----> 数据库
网友评论