当前位置: 首页 > news >正文

ibatis中使用缓存

简单在ibatis中使用cache

  首先设置SqlMapConfig.xml中<settings/>节点的属性cacheModelsEnabled="true"
  
  然后在具体sqlmap文件中书写<cacheModel>
    <cacheModel id="product-cache" type="LRU"> 
      <flushInterval hours="24"/> 
      <flushOnExecute statement="insertProduct"/>
      <flushOnExecute statement="updateProduct"/> 
      <flushOnExecute statement="deleteProduct"/> 
      <property name="size" value="1000" /> 
    </cacheModel>
   
  最后给<select/>节点应用cache
    <select id="getAllProducts" cacheModel="product-cache">
      select * from PRODUCT
    </statement> 
    
复杂点的用法

  <cacheModel/>节点
  
    type="LRU"
      type属性可以指定cache的类型,ibatis支持3种缓存:
        MEMORY     没有统一的对象重用模式或内存不足的应用。
        LRU        经常使用的对象,这是性能最好的选择。
        FIFO       在短时间内持续引用,而后很可能不再使用。
      也可以使用外部cache如:
        type="OSCACHE"
     
    readOnly="true"
      默认true时缓存效果最好,可以减少更新。
      
    serialize="false"
      默认false,设true可以提高整体应用的性能。
        serialize只能应用于实现了Serializable接口的对象,而且和lazyLoadingEnabled="true"属性冲突。
        
    flushInterval
      自动刷新间隔时间。

    flushOnExecute
      在特定id的操作后,刷新cache,可选操作。

  手动刷新缓存
    [sqlmap].flushDataCache("product-cache")
      刷新cache当id="product-cache"
    [sqlmap].flushDataCache()
      刷新sqlmap内的所有cache

原文:http://blog.csdn.net/zzcv_/article/details/1956056

相关:ibatis sqlMapConfig settings 中属性用法

相关文章:

  • ElasticSearch 相关性
  • 简介
  • XP系统下Chrome浏览器打开某些网站闪退的解决办法
  • MongoDB 搭建副本集
  • linux的cpu软中断问题引发的gc cr block lost高等待
  • 对IO流的操作(文件大小,拷贝,移动,删除)
  • 【NetApp】关于walfiron命令的一点资料
  • 电商总结(八)如何打造一个小而精的电商网站架构
  • java正则表式的使用
  • grub修复
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • LXD 2.0系列之二:LXD安装和配置
  • Java调用JavaFX的方法
  • ORA-04089: 无法对 SYS 拥有的对象创建触发器
  • Java获取URL中的顶级域名domain的工具类
  • 分享的文章《人生如棋》
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Apache的基本使用
  • CentOS 7 防火墙操作
  • Django 博客开发教程 8 - 博客文章详情页
  • HomeBrew常规使用教程
  • Javascript编码规范
  • JavaScript的使用你知道几种?(上)
  • JavaScript服务器推送技术之 WebSocket
  • Java到底能干嘛?
  • MySQL QA
  • OSS Web直传 (文件图片)
  • SAP云平台里Global Account和Sub Account的关系
  • spark本地环境的搭建到运行第一个spark程序
  • Swoft 源码剖析 - 代码自动更新机制
  • underscore源码剖析之整体架构
  • Vim 折腾记
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 半理解系列--Promise的进化史
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 深度学习中的信息论知识详解
  • 使用parted解决大于2T的磁盘分区
  • 栈实现走出迷宫(C++)
  • 正则与JS中的正则
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​第20课 在Android Native开发中加入新的C++类
  • #git 撤消对文件的更改
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core引入性能分析引导优化