2008.07.30 11:53
<sqlMap namespace="SysMenu">
<cacheModel id="menuCache" type ="LRU">
<flushInterval hours="24"/>
<flushOnExecute statement="SysMenu.insertMenu"/>
<property name="cache-size" value="1000" />
</cacheModel>
<select id="getMenu" resultMap="menuResult" cacheModel="menCache">
select * from menu
</select>
<insert id="insertMenu">
insert into menu (menuid, menuname) values ('menu1','메뉴1')
</insert>
</sqlMap>
위 설정은 24시간마다 또는 관련된 update문이 수행될때마다 지워진다
flushOnExecute의 statement 속성은 sqlMap의 namespace명을 포함한 statement id를 적는다
ex) SysMenu.insertMenu
- LRU : 캐쉬가 full상태가 되었을때 캐쉬로 부터 최근에 사용된 요소를 제거한다.
- FIFO : 캐쉬가 full상태가 되었을때 캐쉬로 부터 가장 오래된 객체를 제거한다.
- MEMORY : 캐쉬를 관리하기 위해서 SOFT, WEAK, 그리고 STRONG 같은 자바 참조 타입을 사용한다. 이것은 메모리에 머물게 될 것을 결정하기 위해 garbage collector 를 허락한다. 사용될수 있는 구현은 메모리가 모자란 곳의 애플리케이션내에서 사용된다.
- OSCACHE : OSCache2.0 캐쉬 엔진을 위한 플러그인이다. 당신은 OSCache를 설정하기