mybatis提供查询缓存,用于减轻数据库压力,提高数据库性能
mybatis提供一级缓存和二级缓存
一级缓存:sqlsession级别的缓存
在操作数据库时,需要构造sqlsession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据
不同的sqlsession之间的缓存区域是互相不影响的。
二级缓存:mapper级别的缓存
多个sqlsession去操作同一个mapper的sql语句,多个sqlsession可以共用二级缓存,所得到的数据会存在二级缓存区域,
二级缓存是跨sqlsession的二级缓存相比一级缓存的范围更大(按namespace来划分),多个sqlsession可以共享一个二级缓存