ibatis的四种高速缓存模型

[color=red]1.MEMORY[/color]
MEMORY高速缓存是一种基于引用的高速缓存,高速缓存中的每一个对象都被赋予一个引用类型。
MEMORY的三种引用类型:
(1)[color=violet]WEAK[/color]: 将很快的废弃已高速缓存的对象。
(2)[color=violet]SOFT[/color]: 满足内存约束的情况下尽可能的保存高速缓存对象。
(3)[color=violet]STRONTG[/color]: 永远不会被废弃。


<cacheModel type="MEMORY" id="usercache">
<flushInterval hours="24"/>
<flushOnExecute statement="inserUser"/>
<property name="reference-type" value="WEAK"/>
</cacheModel>

<insert id="inserUser3" parameterClass="User">
insert into t_user(id, name, sex, address) values
(#id:NUMBER#, #name:VARCHER#, #sex:NUMBER#,
#address:NUMBER#)
</insert>


[color=red]2.LRU[/color]
LRU高速缓存模型使用最近最少使用策略来管理高速缓存。该高速缓存的内部机制会在后台记录哪些对象最近最少使用,一旦超过高数缓存大小限制就会废弃它们。
LRU非常适用于那些需要根据某些特定对象访问频率来管理高速缓存的情况。


<cacheModel type="LRU" id="usercache">
<flushInterval hours="24"/>
<flushOnExecute statement="inserUser"/>
<property name="size" value="20"/>
</cacheModel>

<insert id="inserUser3" parameterClass="User">
insert into t_user(id, name, sex, address) values
(#id:NUMBER#, #name:VARCHER#, #sex:NUMBER#,
#address:NUMBER#)
</insert>


[color=red]3.FIFO[/color]
FIFO高速缓存模型采用先进先出的管理策略,是一种基于时间的策略,它总是将最老的已高速缓存对象先移出,只有当高速缓存超过大小限制的约束时,才会废弃高速缓存中最老的对象。
FIFO非常适用于初放入时使用频率很高,随着时间的流逝访问频率就会逐渐降低的对象。


<cacheModel type="FIFO" id="usercache">
<flushInterval hours="24"/>
<flushOnExecute statement="inserUser"/>
<property name="size" value="20"/>
</cacheModel>

<insert id="inserUser3" parameterClass="User">
insert into t_user(id, name, sex, address) values
(#id:NUMBER#, #name:VARCHER#, #sex:NUMBER#,
#address:NUMBER#)
</insert>


[color=red]4.OSCACHE[/color]
OSCACHE高速缓存模型是第三方产品。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值