zoukankan      html  css  js  c++  java
  • IBatis.Net学习笔记(二)数据库的缓存模式

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

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

            <select id="GetCachedAccountsViaResultMap"
                        resultMap
    ="account-result"
                        cacheModel
    ="account-cache" >
                select 
    *
                from Accounts
                order by Account_ID
            
    </select>
    最主要的就是cacheModel="account-cache",指定缓存的方式,如下,是具体配置缓存的地方:
        <cacheModels>
            
    <cacheModel id="account-cache" implementation="MEMORY" >
                
    <flushInterval hours="24"/>
                
    <flushOnExecute  statement="UpdateAccountViaInlineParameters"/>
                
    <flushOnExecute  statement="UpdateAccountViaParameterMap"/>
          
    <flushOnExecute  statement="InsertAccountViaParameterMap"/>
          
    <property name="Type" value="Weak"/>
            
    </cacheModel>        
        
    </cacheModels>

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

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

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

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

  • 相关阅读:
    Win10企业版远程桌面结合frp实现公网远程
    ibatis入门教程
    没找到工作的Java软件工程师是屌丝中的屌丝啊
    消息队列常见问题和解决方案(转)
    Mycat安装部署简单使用
    MySQL以及MyCat的安装和使用
    MyCat用户配置-添加用户、修改用户、删除用户、重置用户密码
    mycat的下载和安装
    CentOS基础命令大全 (转)
    唯一ID生成器。
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/2052797.html
Copyright © 2011-2022 走看看