博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ibatis缓存初探(1)
阅读量:5166 次
发布时间:2019-06-13

本文共 1834 字,大约阅读时间需要 6 分钟。

一,IBATIS 缓存机制使用

 

1,sqlMapConfig.xml中配置

 
1.SqlMapConfig.xml中

 注意点,k,必须配置settings这个标签,否则

 

Xml代码

 

cacheModelsEnabled="false"

 

Xml代码
cacheModelsEnabled="true"  是默认的,无须配置也可,建议配置

 

2,配置具体的sqlMap.xml

 

Xml代码

 

二,具体配置项

 

id : cacheModel的id.

type : cache的类型. ibatis目前提供了LRU,MEMORY,FIFO,OSCACHE这四种.

  •       FIFO: com.ibatis.sqlmap.engine.cache.fifo.FifoCacheController
  •       LRU:  com.ibatis.sqlmap.engine.cache.fifo.LruCacheController
  •       MEMORY: com.ibatis.sqlmap.engine.cache.fifo.MemoryCacheController
  •       OSCACHE: com.ibatis.sqlmap.engine.cache.fifo.OSCacheController

      当然,你也可以自己来实现Cache, 你需要做的是让你的Cache类 implements com.ibatis.sqlmap.engine.cache.CacheController.
readOnly : 是否只读. 默认为true, 只读.
serialize : 是否从Cache中读取同一个对象,还是对象的副本.
           只有在readOnly=false才有效.
   因为Cache是只读的,那么为不同session返回的对象肯定是一个.
   只有在Cache是可读写的时候,才需要为每个session返回对象的副本.
flushInterval : Cache刷新间隔. 可以配置hours,minutes,seconds,milliseconds.
           注: 不是说,间隔时间到了,在Cache的statement会自己刷新,而是说,在间隔时间过了后,下次的查询
   将不会从Cache中直接去值,而会用SQL去查.也就是: 如果,间隔时间过了,还没有Cache对应的statement执行
   的话,那么Cache中就会一直是旧的,不用担心Cache数据是旧的,因为下次的查询将会直接从SQL查询,而非Cache,查询的结果也会去更新Cache的值.
flushOnExecute : 当这些statement被执行了,那么下次的查询将会通过SQL去查,同时用查询结果更新Cache.
           注: 和flushInterval的刷新一样,不是主动刷新,而是由下次查询来触发被动刷新.
               在一个cacheModel中可以指定多个flushOnExecute.
property : 这是针对cacheModel的额外的一些属性配置.不同type的cacheModel将会有自己专有的一些property配置.
          FIFO: <property name="size" value="100" />
          LRU: <property name="cache-size" value="100" />
  MEMORY: <property name="reference-type" value="WEAK" />

转载于:https://www.cnblogs.com/wcyBlog/p/3926831.html

你可能感兴趣的文章
基于.net standard 的动态编译实现
查看>>
mssql sqlserver in 关键字在值为null的应用举例
查看>>
ArcGIS JS 学习笔记3 实现百度风格的BubblePopup
查看>>
C#中动态加载和卸载DLL
查看>>
在VS2013中使用水晶报表
查看>>
spring的Bean的生命周期
查看>>
ASP.NET 学习.
查看>>
Java基类和派生类
查看>>
(转)C++ 值传递、指针传递、引用传递详解
查看>>
Gym 101933E(状态压缩+记忆化搜索)
查看>>
基于avalon+jquery做的bootstrap分页控件
查看>>
automake之简单的例子
查看>>
drupal常用api
查看>>
指针函数与函数指针的区别
查看>>
IDA插件栈字符串识别插件
查看>>
Android与蓝牙Ble之间的通信
查看>>
Linux centos修改防火墙为iptables
查看>>
CSS预处理器之Less详解
查看>>
PQSQL 按照时间进行分组
查看>>
转:Defining Custom Columns in SharePoint – Field Types and Options
查看>>