iBATIS.net数据库缓存模式浅析
创始人
2024-04-17 22:11:44
0

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

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

  1. ﹤select id="GetCachedAccountsViaResultMap" 
  2.             resultMap="account-result" 
  3.             cacheModel="account-cache" ﹥  
  4.     select *  
  5.     from Accounts  
  6.     order by Account_ID  
  7. ﹤/select﹥ 

最主要的就是cacheModel="account-cache",指定缓存的方式,如下,是具体配置缓存的地方:

  1. ﹤cacheModels﹥  
  2.     ﹤cacheModel id="account-cache" implementation="MEMORY" ﹥  
  3.         ﹤flushInterval hours="24"/﹥  
  4.         ﹤flushOnExecute  statement="UpdateAccountViaInlineParameters"/﹥  
  5.         ﹤flushOnExecute  statement="UpdateAccountViaParameterMap"/﹥  
  6.   ﹤flushOnExecute  statement="InsertAccountViaParameterMap"/﹥  
  7.   ﹤property name="Type" value="Weak"/﹥  
  8.     ﹤/cacheModel﹥          
  9. ﹤/cacheModels﹥ 

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

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

配置好之后我进行了一个简单的测试,基本上是可以的,但也有一点问题:

1、***次查询结果是4条记录,当我手工往数据库中插入一条记录时,第二次查询还是4条记录

2、当我把系统时间改成第二天(24小时后),再查,得到的结果是5条记录

3、当我执行了InsertAccountViaParameterMap语句插入一条记录时,再查询得到的是6条记录

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

以上就是iBATIS.net数据库缓存模式的介绍,是不是对你了解iBATIS.net数据库缓存模式有所帮助呢?

【编辑推荐】

  1. iBATIS缓存cacheModel属性浅析
  2. Spring iBATIS整合实例演示
  3. iBATIS Spring Struts2整合实例浅析
  4. iBATIS.net应用之下载、编译、运行NPetShop
  5. IBATIS.net中两大常用的DAO浅谈

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...