Mybatis 二级缓存策略

  • 如何配置缓存
    • Mybatis 的缓存配置非常方便,三个配置就可以搞定,如:
      • 第一个配置Mybatis的config.xml,开启缓存:
        <? xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
        <configuration>
           <settings>
              <setting name="cacheEnabled" value="true" />
           </settings>
        </configuration>
      • 第二个需要在Mybatis的Mapper文件头指定使用缓存
        <cache readOnly="true" size="1024" flushInterval="120000" eviction="LRU"/> 
        • readOnly 只读,设置为True所有相同的Sql语句返回的是同一个对象,有助于提高性能,在并发操作同一条SQL时,可能不安全。设置为False,则相同的SQL后边访问的是Cache的副本。
        • size 指的是缓存多少的对象,默认为1024
        • flushInterval 指定缓存过期的时间,单位为毫秒,默认为空,只要缓存足够,永远不过期
        • eviction 指的是缓存的策略淘汰算法,默认淘汰算法是最近最少使用算法。还有先进先出算法。
      • 第三个配置是在具体的SQL语句处使用缓存,默认是开启的,如:
        <select id="selectByParams" resultType="com.lister.smdemo.entity.TableIp" parameterType="map" useCache="true">
           select from table_ip order by findTime desc limit ${offset}, ${size}
        </select>

  • 常见的缓存策略
    • LRU 最近最少使用,移除最长时间不被使用的对象,为默认策略
    • FIFO 先进先出,按对象进入缓存的顺序来移除它们
    • SOFT 软引用,移除基于垃圾回收器状态和软引用规则的对象
    • WEAK 弱引用,更积极的移除基于垃圾收集器状态和弱引用规则对象

  • config.xml的引用方式:
    • 在Mybatis的配置文件中引入,如:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值