IBatis.Net学习笔记(二)数据库的缓存模式

摘要:
IBatis中提供了数据库缓存模式,以提高访问效率。对于一些不经常更新的表,可以直接使用IBatis缓存方法。要使用IBatis的数据库缓存,您只需要使用配置文件,该文件实现起来相对简单:select*fromAccountorderbyAccount_ID最重要的是cacheModel=”account-cache“。指定缓存方法,如下所示:,这是缓存的配置位置:其中:implementation=“MEMORITY”这是设置缓存的实现方法。您可以指定LRU、FIFO等,这有点类似于内存的页面替换策略。MEMORY是最常用的方法。

在IBatis中提供了数据库缓存的模式,可以提高访问效率。对于一些不常更新的表可以直接利用IBatis的缓存方式。

要使用IBatis的数据库缓存,只要利用配置文件就可以了,实现起来比较简单:

IBatis.Net学习笔记(二)数据库的缓存模式第1张        <select id="GetCachedAccountsViaResultMap"
IBatis.Net学习笔记(二)数据库的缓存模式第1张                    resultMap
="account-result"
IBatis.Net学习笔记(二)数据库的缓存模式第1张                    cacheModel
="account-cache" >
IBatis.Net学习笔记(二)数据库的缓存模式第1张            select 
*
IBatis.Net学习笔记(二)数据库的缓存模式第1张            from Accounts
IBatis.Net学习笔记(二)数据库的缓存模式第1张            order by Account_ID
IBatis.Net学习笔记(二)数据库的缓存模式第1张        
</select>
最主要的就是cacheModel="account-cache",指定缓存的方式,如下,是具体配置缓存的地方:
IBatis.Net学习笔记(二)数据库的缓存模式第1张    <cacheModels>
IBatis.Net学习笔记(二)数据库的缓存模式第1张        
<cacheModel id="account-cache" implementation="MEMORY" >
IBatis.Net学习笔记(二)数据库的缓存模式第1张            
<flushInterval hours="24"/>
IBatis.Net学习笔记(二)数据库的缓存模式第1张            
<flushOnExecute  statement="UpdateAccountViaInlineParameters"/>
IBatis.Net学习笔记(二)数据库的缓存模式第1张            
<flushOnExecute  statement="UpdateAccountViaParameterMap"/>
IBatis.Net学习笔记(二)数据库的缓存模式第1张      
<flushOnExecute  statement="InsertAccountViaParameterMap"/>
IBatis.Net学习笔记(二)数据库的缓存模式第1张      
<property name="Type" value="Weak"/>
IBatis.Net学习笔记(二)数据库的缓存模式第1张        
</cacheModel>        
IBatis.Net学习笔记(二)数据库的缓存模式第1张    
</cacheModels>

其中:implementation="MEMORY"是设置缓存的实现方式,可以指定LRU、FIFO等,有点类似于内存的页替换策略。MEMORY是最常使用的一种方式。

flushOnExecute设置的是当执行了这些语句时更新缓存。

配置好之后我进行了一个简单的测试,基本上是可以的,但也有一点问题:
1、第一次查询结果是4条记录,当我手工往数据库中插入一条记录时,第二次查询还是4条记录
2、当我把系统时间改成第二天(24小时后),再查,得到的结果是5条记录
3、当我执行了InsertAccountViaParameterMap语句插入一条记录时,再查询得到的是6条记录

也就是说:当系统中的表从不进行手工维护,也不由第三方程序修改时,可以使用数据库缓存的方式提高效率

免责声明:文章转载自《IBatis.Net学习笔记(二)数据库的缓存模式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇20135306黄韧 信息安全系统设计基础期中学习总结书单 (动态更新书单)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

云上RDS架构

概述 越来越多的企业选择上云,最基础的云服务就是IaaS(Infrastructure as a Service)服务,直观理解就是虚拟主机,用户不用再自建机房,自己购买服务器,而是直接向云厂商购买虚拟主机服务ECS(Elastic Compute Service),按时按量付费。对于数据库而言,将数据库能力集成进来,就是DaaS(Database as...

KBEngine源码:组件方案

相对于skynet,KBEngine提供了完整的组件方案。 Loginapp 登录验证、注册、Client的接入口。 Baseapp 通过Loginapp分配过来的Client会与Baseapp保持连接,完成客户端与服务端的交互。 定时把Entity的数据保存进数据库。 Baseapp之间会进行互相备份,保证数据的安全。 灾难恢复-当Baseapp发生问...

『软件介绍』SQLServer2008 基本操作

0x 01 连接数据库     Win7下,先打开SQLServer管理工具(开始菜单/所有程序/Microsoft SQL Server 2008/SQL Server Management Studio)     会弹出“连接到服务器对话框” 1 服务器类型 : 数据库引擎 2 服务器名称 : 127.0.0.1 3 身份验证 : Windows身...

nginx配置及性能调优

https://www.toutiao.com/i6765746230141125132/?timestamp=1575450096&app=news_article&group_id=6765746230141125132&req_id=201912041701360100260760263C04643 2.4、配置默认主页loc...

[Project] HUSTOJ随笔

转载自 : http://blog.csdn.net/zhblue/article/details/7259940 (版权为 zhblue) HUSTOJ http://code.google.com/p/hustoj 是一个开源OnlineJudge系统,广泛应用于计算机程序设计比赛和编程能力测试。 从代码上HUSTOJ分为两大部分,core...

linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署

如果还没有安装jdk、mysql、tomcat可以先参考我的另一篇博客,linux系统tomcat部署SpringBoot+vue前后端分离项目准备工作 如果准备工作已经做完了,那么就开始正式部署吧。 上一篇仅仅安装成功了,既没有创建数据库,也没有导入数据,也没有将前后台文件放上来,接下来就一一进行操作。 上传数据库的sql文件,上传方式在上一篇博客中有详...