当前位置:Gxlcms > 数据库问题 > 数据库性能之--ibatis cache应用

数据库性能之--ibatis cache应用

时间:2021-07-01 10:21:17 帮助过:2人阅读


cacheModel主要有下面几个配置点:
flushInterval :

设定缓存有效期,如果超过此设定值,则将此CacheModel的缓存清空。
size:          本CacheModel中最大容纳的数据对象数量。
flushOnExecute: 指定执行特定Statement时,将缓存清空。如updateUser操作将更新数据库中的用户信息,这将导致缓存中的数据对象与数据库中的实际数据发生偏差,因此必须将缓存清空以避免脏数据的出现。   Statement相关的节点,分别为:
insert
delete
update
select
procedure   cache类型:
1.
LRU型Cache
当Cache达到预先设定的最大容量时,ibatis会按照“最少使用”原则将使用频率最少
的对象从缓冲中清除。
2.
在生产部署时,建议采用OSCache,OSCache 是得到了广泛使用的开源Cache 实现
(Hibernate 中也提供了对OSCache 的支持),它基于更加可靠高效的设计,更重要的是,
最新版本的OSCache 已经支持Cache 集群。如果系统需要部署在集群中,或者需要部署在
多机负载均衡模式的环境中以获得性能上的优势,那么OSCache在这里则是不二之选。 Ibatis中对于OSCache的配置相当简单:
<cacheModel id="userCache" type="OSCACHE">
<flushInterval hours="24"/>
<flushOnExecute statement="updateUser"/>
<property name="size" value="1000" />
</cacheModel>
之所以配置简单,原因在于,OSCache拥有自己的配置文件(oscache.properties)J。
配置好之后,将此文件放在CLASSPATH 中,OSCache 在初始化时会自动找到此
文件并根据其中的配置创建缓存实例。
注意:
本模块中其他Statement对数据的更新,其他模块对数据的更新,甚至第三方系统对数据的更新。否则,脏数据的出 现将为系统的正常运行造成极大隐患。如果不能完全确定数据更新操作的波及范围,建议避免Cache的盲目使用。 2.
只读Cache能提供更高的读取性能,但一旦数据发生改变,则效率降低。系统设计时需根据系统的实际情况(数据发生更新的概率有多大)来决定Cache的读写策略。

数据库性能之--ibatis cache应用

标签:

人气教程排行