Mybatis缓存

什么是缓存:存在内存中的临时数据

为什么使用缓存:减少与数据库的交互次数,从缓存中查询,减少系统开销,提高系统性能,解决高并发系统性能问题

什么时候用缓存

  • 适用于缓存的:经常查询但不经常修改的(eg: 省市,类别数据),数据的正确与否对最终结果影响不大的

  • 不适用缓存的:经常改变的数据 , 敏感数据(例如:股市的牌价,银行的汇率,银行卡里面的钱)等等,

mabatis分一级缓存和二级缓存

一级缓存


一级缓存默认开启

一级缓存查询分析:执行sql语句,第一次查询用户ID为1时先去缓存中找,没找到则去数据库查找并将数据写入缓存,第二次查询用户ID为1时,去缓存中找,若找到直接从缓存中获取数据

一级缓存什么时候清空:sqlsession对象销毁时,增删改,commit提交

二级缓存

二级缓存是SqlSessionFactory的缓存,同一个SqlSessionFactory创建的SqlSession才能共享二级缓存的内容,并且可以操作二级缓存.

二级缓存要手动开启  在主配置文件<setting name="cacheEnabled" value="true"/>  在映射文件<cache/>标签在你想用二级缓存的语句标签中添加useCache="true" 默认为true 不想用设置为false

二级缓存注意 :

        1.一级缓存清空后二级缓存才能生效
        2.要进行二级缓存的POJO类必须实现Serializable接口,就可以使用序列化方式来保存对象。
           

如果对您有帮助,免费的赞点一个 感谢🙏~~~