Mybatis_22_Mybatis缓存简介

Mybatis缓存简介

  * 什么是缓存【Cache】?

     - 存储在内存中的临时数据,断电即失。

     - 将用户查询的数据放在缓存(内存)中,用户查询数据的时候就不用再磁盘上查询,而是在缓存中查询,这样可以大大提到查询效率。解决了高并发系统的性能问题。


  * 为什么要使用缓存【Cache】?

    - 减少与数据库的交互次数,减少系统开销,提高系统效率。


  * 什么样的数据适合使用缓存?

     - 经常需要做查询,很少需要更改的数据。


  * Mybatis缓存 

     - Mybatis包含一个非常强大的缓存特性,他可以非常方便的定制和配置缓存,缓存可以极大的提成查询效率。

     - Mybatis中默认定义了两极缓存  一级缓存 和 二级缓存.

         > 默认情况下只一级缓存开启(SqlSession级别的缓存,也称为本地缓存)

         > 二级缓存需要手动开启和配置,它是基于namespace级别的缓存(一个mapper接口对应一个namespace)

         > 为了提高扩展性,Mybatis定义了缓存接口Cache,可以通过实现Cache接口来自定义二级缓存。


     - 清除策略 默认的清除策略是 LRU

        可用的清除策略有:

        LRU  – 最近最少使用:移除最长时间不被使用的对象。

        FIFO – 先进先出:按对象进入缓存的顺序来移除它们。

        SOFT – 软引用:基于垃圾回收器状态和软引用规则移除对象。

        WEAK – 弱引用:更积极地基于垃圾收集器状态和弱引用规则移除对象。

        
posted @ 2021-05-08 16:15  失昼  阅读(61)  评论(0)    收藏  举报