作用:提高数据的检索效率,提高查询,减少性能消耗。
分为:
一级缓存:sqlsession级别也就是本地缓存,将数据库查询的数据放入sqlsession中,下次查询时直接从里面那。但当多个用户查询时会出现一个跨sqlsession级别的,也就是二级缓存。
原理:sqlsession中有Executor,Executor中有个localcache对象来存储,每次Executor都是从localcahe中写入和查询。
二级缓存:namespace级别,在经过一级缓存之前,会先通过CachingExecutor进行二级缓存查询,开启二级缓存会被多个sqlsession共享所以他是一个全局的缓存。