在iBATIS中无限期flushInterval

时间:2009-08-04 20:43:01

标签: ibatis

有没有人知道当省略flushInterval时iBATIS cacheModel的行为是什么,比如缓存类型是MEMORY?我希望它只是将缓存的结果无限期地留在内存中。我有一组结果在没有服务器重启的情况下永远不会改变,我希望在应用程序的生命周期内只查询一次。我想如果我将flushInterval元素从缓存映射中删除,这将有效...但我在文档中找不到任何确认的内容。

1 个答案:

答案 0 :(得分:0)

来自Ibatis source codeIbatis User Guide

如果未在CacheModel中设置flushInterval,则将其设置为NO_FLUSH_INTERVAL,其为-99999,并且不像用户指南建议的那样是正的毫秒数。使用此设置,只有通过调用语句(执行时刷新)或显式调用flush命令才能刷新缓存,如果要覆盖Ibatis。

为了获得您想要的行为,您还需要指定一个 您的CacheModel中的<property name="Type" value="STRONG"/>,有关详细信息,请参阅here