• Mybatis缓存


       Mybaits像hibernate一样提供两种缓存机制一种是session机制的缓存,默认是以及缓存另一种是全局缓存机制,你也可以理解是SqlSessionFactory域的缓存,二级缓存你需要在mapper中加入<cache/>才能实现.其中缓存有给予自动配置也有自定义实现.

     重要缓存时POJO类需要序列化

    1.二级缓存详细配置

    <cache
     eviction="FIFO"//缓存算法,先入先出,此外也可以是LRC最近最少访问,SOFT软引用(根据垃圾收集器状态和删除对象的规则软引用),弱引用(更积极地根据垃圾收集器删除对象的状态弱引用和规则).
     flushInterval="60000"//多长时间刷新一次
     size="512"//缓存大小
     readOnly="true"/>
    

    总结一句话就是:查询被缓存,增删改被更新.

    2.自定义缓存.

    <cache type="com.domain.something.MyCustomCache"/>
    

      实现接口

    public interface Cache {
     String getId();
     int getSize();
     void putObject(Object key, Object value);
     Object getObject(Object key);
     boolean hasKey(Object key);
     Object removeObject(Object key);
     void clear();
    }
    

      3.你可以具体指定某个具体的方法如何与缓存交互.

    <选择…flushCache = " false " useCache = " true " / >
    <插入…flushCache = " true " / >
    <更新…flushCache = " true " / >
    <删除…flushCache = " true " / >
    

     4. 共享命名空间里缓存配置

    <cache-ref namespace="com.someone.application.data.SomeMapper"/>

      

  • 相关阅读:
    CentOS重启与关机
    VIM打开文件与保存文件
    sql Split
    JS获取URL参数
    C#后台调用公网接口(GET, POST)
    鼠标右击.exe的程序出现闪退(桌面重启)怎么办
    JS判断有无网络(移动端)
    TFS API : 四、工作项查询
    TFS API:三、TFS WorkItem添加和修改、保存
    TFS API:二、TFS 代码查询工作项
  • 原文地址:https://www.cnblogs.com/maybo/p/5183620.html
Copyright © 2020-2023  润新知