2012-01-09 3 views
6

Iams 캐시 용 JCS 사용. 이제 디스크 캐시를 사용하여 모든 데이터를 임시로 저장합니다. 문제는 JCS를 사용할 때 캐시가 올바르게 작성된 경우에만 키가 디스크에 기록된다는 것입니다. 일시 휴업.JCS 캐시 종료, 디스크에 지속성 보장 보장

디스크 사용 패턴을 UPDATE로 사용하여 JCS가 메모리에 데이터를 저장하지 않고 즉시 디스크에 데이터를 쓰도록 지시합니다.하지만 문제는 캐시의 개체 키 목록을 유지하는 것이 아닙니다. 따라서 그룹 캐시 액세스 및 캐시에서 키를 가져온 다음 결과를 얻기 위해 키를 반복합니다.

그래서 이제 모든 데이터가 디스크 캐시를 사용하여 디스크에 기록 된 후에 캐쉬를 제대로 종료해야하는 상황에 처하게됩니다. 그러나 여기에는 복잡성이 있습니다. 인덱스 된 디스크 캐시는 백그라운드 스레드를 사용합니다. 그 상태에 아무것도 반환하지 않는 디스크에 쓰기.

이제 인덱스 된 디스크 캐시가 디스크에 데이터를 기록하도록 보장 할 수 없습니다.이 상황을 해결할 수있는 방법이 있습니다. 이제는 임의의 시간 (예 : 10 초)을 자고 있기 때문입니다.), 캐시가 종료되기 전에 실제로 그것을 수행하는 매우 어리석은 방법입니다.

편집 : 메모리 캐시도이 문제에 직면하고 있지만 1 초의 대기 시간은 대부분 500MB의 데이터에 충분합니다. 그러나 디스크 캐시의 경우는 약간 다릅니다.

답변

0

개체가 메모리에 저장되어 디스크에 쓰려는 대기 상태 일 수 있습니다. 실행 중에 디스크에 객체를 즉시 작성해야한다면 캐시의 MaxObjects0으로 설정해야합니다.

jcs.region.<yourRegion>.cacheattributes.MaxObjects=0 jcs.region.<yourRegion>.cacheattributes.DiskUsagePattern=UPDATE

난 당신에게 UPDATE 이미 알고 알고 있습니다. 참조 용으로 다시 추가하십시오.