领会MyBatis的缓存

MyBatis将数据缓存设计成两级结构,分为一级缓存、二级缓存:

       一级缓存是Session会话级别的缓存,位于表示一次数据库会话的SqlSession对象之中,又被称之为本地缓存。一级缓存是MyBatis内部实现的一个特性,用户不能配置,默认情况下自动支持的缓存,用户没有定制它的权利(不过这也不是绝对的,可以通过开发插件对它进行修改);

       二级缓存是Application应用级别的缓存,它的是生命周期很长,跟Application的声明周期一样,也就是说它的作用范围是整个Application应用。

一级缓存

      1.增删改对一缓的影响,它会自动刷新缓存,把所有缓存数据清空

           2.存储的内容:key(SQLID+SQL)+value (检索的结果)

         3.节点的flushCache=false,不起作用

         4.只要MyBatis,一级不可卸载,天然和MyBatis集成

二级缓存

  1.MyBatis的自身带的二级缓存

   配置过程:

     1,在大配置中配置
 <setting name="cacheEnabled" value="true"/> 默认为true
     2,实体实现
Serializable接口
     3.在小配置中配置<cache/>

  2.增删改对二级缓存的影响

                        增删改默认会清空一级和二级缓存。但是我们可以通过设置一个属性flushCache=”false” ,来阻止该操作,但是对于一级缓存不起作用

    

      3. Cache的配置

             Evication:剔除缓存对象的策略:(最常用的使用)  FIFO(先进先出) LRULeast Recently Use) 最近最      少使用的对象

              Size:缓存对象的个数

             Flushineterval:存在的时间,单位是毫秒

             Readonly:只读

     4.二级缓存的关闭

            1.全局的是:在MyBatis-Config.xml中配置

       <setting name="cacheEnabled" value="true"/>
      2.局部
         设置xxx.xml对应的小配置给标签配置属性:usecache=false 

        

   

  

   

   

    

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值