【Mybatis】——开启二级缓存

背景

在日常的开发过程中,总会检查到以前的接口性能是特别的不好,但是有历史原因又不敢去动里面的逻辑,但是当我们使用的mybatis的时候,并且发现这个接口比较频繁的查询某一个数据的时候,并且这个数据对于用户来说可以存在一定的延迟,那么mybatis的二级缓存就派上用场了,接下来看下我们怎么来开启mybatis的二级缓存的吧

一、基于Spring+Mybatis

  1. mybaits的二级缓存是mapper范围级别,要在具体的mapper.xml中开启二级缓存。

    在核心配置文件 中加入:

        

           

        

        

  2. mpper.xml中开启二缓存,mapper.xml下的sql执行完成会存储到它的缓存区域(HashMap)。

  3. 对应的pojo实现序列化(implements Serializable)

注意:开启缓存的弊端是数据没有实时性,当数据库中的数据一旦修改,查询的数据还是缓存中的数据没有实时性,对于某些需要实时性显示数据的接口我们可以设置useCache="false",设置该属性后,该接口每次查询出来都是去执行sql查询出实时性数据。

相关配置说明:

①.设置useCache=false可以禁用当前select语句的二级缓存,即每次查询都会发出sql去查询,默认情况是true,即该sql使用二级缓存。