2012-05-16 5 views
0

JDBC를 사용하고 있습니다. 데이터베이스 집약적 인 계산이 있고 결과를 캐시하고 싶습니다.Java 캐시 쿼리 결과

결과를 캐시하려면 HashMap<String, ResultSet>을 사용하고 있습니다. 그러나 캐시가 너무 커지기 때문에 프로그램은 종종 OutOfMemory Exception을 제공합니다.

더 나은 데이터 구조/사용할 캐싱 인터페이스에 대한 조언이 필요하십니까?

답변

1

먼저 ResultSet을 캐시에 저장하지 말고 데이터로 일부 도메인 개체를 만든 다음 캐시하십시오.

둘째, 사용되지 않는 오래된 항목을 제거하는 일종의 캐싱 프레임 워크를 사용하십시오. 내가 가장 좋아하는 코드는 Guava Cache이며, 다른 구성 요소로는 Ehcache입니다.

+0

감사합니다. – MFARID