OSCache에서 EhCache로 프로젝트 코드를 마이그레이션하려고합니다.전역 EhCache 용량 지정
우리는 OSCache를 두 번째 수준의 최대 절전 모드 캐시 공급자로 사용했을뿐만 아니라 다른 특성을 가진 다른 개체를 저장하기도했습니다. 그들은 서로 겹치지 않는 캐시 키로 인해 충돌없이 동일한 캐시 인스턴스를 행복하게 공유했습니다.
EhCache로 이동할 때 큰 차이점은 각 영역마다 다른 캐시 인스턴스가 있다는 것입니다. 다른 성격의 데이터가 별도로 있기 때문에 조회 속도를 향상시킬 수 있으므로 잠재적으로 유용합니다. 불행히도, 이것은 설정 지옥의 가격이 있습니다. 설명하겠습니다.
OSCache 세계에서 캐시 용량을 10000으로 설정했습니다. 이제 특정 설치가 RAM을 더 많이 필요로하거나 필요로한다면 50000까지 쉽게 쇠약하게 만들 수 있습니다. 이제 EhCache에서 모든 지역에 대해이 델타의 일부로 설정을 변경해야합니다!
또한 하나의 설치는 X 유형의 오브젝트를 많이 사용하지만 다른 설치는 Y 유형의 오브젝트를 더 많이 사용하는 것을 선호 할 수 있습니다. 수십 개의 설치가 있고 각 설치에는 수백 개의 다른 캐시가 있습니다. 이를 위해 캐시 패턴을 모니터링하고 설정을 조정하는 것 외에는 아무 것도하지 않고 수많은 사람들을 고용해야합니다.
CacheManager
에는 일종의 전역 캐시 용량 설정이 있고 각 내부 캐시는 항목 사용량에 따라 더 많은 용량을 차지하려고합니다. 그러나 캐시 용량을 설정하는 유일한 방법은 을 통해 CacheManager
에 대해 many-to-one을 사용하는 것입니다.
지금까지 볼 수있는 유일한 옵션은 Hibernate가 모든 엔티티에 대해 하나의 전역 캐시를 사용하도록하는 것입니다. 아무도 그렇게하는 법을 알고 있습니까? 저의 시나리오에 대한 다른 해결책이 있습니까?
와우,이 답변 주셔서 대단히 감사합니다, 나는 확실히 크리스마스 후이 다시 한 번 봐해야합니다. – mindas