본문 바로가기
IT/JAVA

Ehcache 옵션 정리

by 최고영회 2018. 9. 12.
728x90
반응형
SMALL

Ehcache 에 대해서는 이전글 참고 :

2013/12/24 - [IT/Spring] - ehcache

diskExpiryThreadIntervalSeconds: 디스크에 저장된 캐시들에 대해  만료된 항목를 제거하기 위한 쓰레드를 실행 할 주기 설정

diskSpoolBufferSizeMB: 디스크 캐시에 쓰기 모드로 들어갈때, 사용될 비동기 모드의 스폴 버퍼 크기 설정, OutOfMemory 에러가 발생 시 수치를 낮추도록 한다.
diskPersistent: VM이 재기동 할때 캐싱된 객체들을 디스크에 계속 유지 할지 여부
diskAccessStripes: 디스크 퍼포먼스를 조정하기 위한 스트라핑 설정
eternal: 시간설정에 대한 무시 설정 (boolean), true 면 모든 timeout 설정은 모두 무시 되고 Element에서 캐시가 삭제 되지 않음
maxElementsInMemory: 메모리에 캐싱 되어질 객체의 최대수
maxEntriesLocalHeap: 힙메모리 최대량
memoryStoreEvictionPolicy: 객체의 갯수가 설정된 maxElementsInMemory에 도달 했을 경우 메모리에서 객체들을 어떤게 제거 할지 에 대한 제거 알고리즘
     FIFO First In First Out. 
            Cache에 node를 추가할 경우 등록시간을 기록하여, 지정한 Cache size가 overflow가 발생할 경우에, 
            등록시간이 가장 빠른 node를 입력된 node로 변경하여 Cache에 관리한다.
     LFU Least Frequently Used. 
            가장 호출이 안된 node를 overflow 발생시 삭제하고, 새로 등록된 node를 등록하는 알고리즘으로, 
            Cache에 등록된 값을 호출할 때 count값과 위치를 함께 관리하여, overflow 발생할 때 
            count값이 제일적은 node를 삭제한다.
     LRU Least Recently Used. 
            가장 오랫동안 사용이 안된 node를 overflow발생시에 삭제하고, 
            새로 등록된 node를 등록하는 알고리즘으로, Cache에 등록된 값을 호출할 때 
            호출된 node 의 위치를 제일 앞으로 이동한다. overflow가 발생할 경우, 마지막 node를 삭제하여 관리한다.
clearOnFlush: flush() 메소드가 실행 될 때 메모리 캐시가 바로 살제 할지 여부, 기본적으로 true 이며 바로 삭제됨.
name: 캐시 이름
overflowToDisk: maxElementsInMemory 음계량에 가까우면 오버플로우되는 객체들을 디스크에 저장 할지 결정
timeToIdleSeconds: 다음 시간 동안 유휴상태(Idle) 후 갱신 할 지 설정(default: 0)
timeToLiveSeconds: 다음 갱신 하기 까지 캐쉬가 유지 되는 시간 (0이면 만료시간을 지정하지 않는다고 보고 유지 되지 않음, default: 0)
maxElementsOnDisk: 디스크 캐시에 저장 될 최대 객체의 수를 지정
maxEntriesLocalDisk: 로컬 디스크에 유지 될 최대 객체 수
maxEntriesInCache: Terracotta의 분산 캐시에서만 사용 가능하며, 클러스터링에 저장 할 수 있는 최대 캐시 수를 설정
transactionalMode: copyOnRead , copyOnWrite 시 트렉젝션 모드를 설정
statistics: JMX 통계정보 갱신 옵션
copyOnRead: 읽기때 캐시 요소를 복사 할 지 여부
copyOnWrite: 캐시 객체 쓸 경우 위한 복사 할지 여부
   - copyOnRead와 Write는 캐쉬로 받아온 객체에 수정이 일어나는 경우 사용한다.
   - 캐시된 객체에 수정이 일어나면 참조호출로 인해 그 뒤에 호출되는 모든 객체가 수정 영향이 중첩되어 발생하므로 주의 필요"
logging: 로깅 사용 여부
overflowToOffHeap: Off-heap 메모리 사용을 설정을 사용 할 수 있으며 JAVA의 GC에 영향을 주지 않는다. 엔터프라이즈 버전에서만 사용가능 하며,   maxEntriesLocalHeap 설정을 최소한 100 요소까지 권정하며 OffHeap를 사용하는 경우 성능이 저하될수 있음.
maxMemoryOffHeap: Off-heap 메모리 사용의 최대 량을 설정
maxBytesLocalHeap: 최대 로컬 힙메모리 사용량 설정, 1k, 1m, 1g 해당 옵션을 사용할 경우 maxEntriesLocalHeap 설정은 사용 할 수 없음.
maxBytesLocalOffHeap: 로컬 VM의 최대 offHeap 사용량을 설정 
maxBytesLocalDisk: maxBytesLocalHeap에 설정된 캐시 사용 이후에 대한 디스크 스토리지의 한계를 설정


728x90
반응형
LIST