아래 코드를 사용하여 Ehcache3으로 영구 캐시를 설정합니다.Ehcache 3를 영구 저장소와 함께 사용하여 write-behind 캐싱을 수행하는 방법은 무엇입니까?
쓰기 쓰기 알고리즘을 사용하여 쓰기 속도를 높이고 싶습니다. 그러나이 작업을 수행하는 코드 예제 나 지침을 찾지 못했습니다. 공식적인 ehcache 문서는 부족합니다. 제가 포럼에서 도움을 청하면 "이 문서를 수정해야합니다!"라는 메시지가 나타났습니다. PersistentCacheManager 유형이 아닌 캐시를 사용하여 새 클래스 유형에서 작동하지 않는 방법에 대한 많은 예제를 발견했습니다.
는 특히 ehcache write-behind behaviour , 거기에 몇 가지 코드 예제가 있습니다하지만이 사용으로 Ehcache의 버전을 특정하지 않다.
저는 여기에 조금 붙어 있습니다. 나는 write-behind 동작으로 영구 저장소에 쓰기를 원하는 사람이 될 수 없다고 생각합니다. 나는 "뒤 쓰기"의 의미가 약간 불투명 함을 발견했다. 내가하고 싶은 것은 한 번에 하나씩 청크 패턴으로 디스크에 기록하는 것입니다. 기존 데이터를 대체 할 때 쓰기 속도가 빨라지 길 바란다.
쓰기 속도를 최적화하면 HD에서 파일 조각화가 발생할 수 있습니다. 파일에 사용되지 않은 구멍이 남아있을 수 있습니다. 이러한 종류의 문제를 해결할 수있는 사전 작성된 코드가 있기를 희망합니다. 어쩌면이 주변에는 옵션을 추가로 조정할 수 있습니다.
PersistentCacheManager myCacheManager;
myCacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.with(CacheManagerBuilder.persistence(this.filename))
.withCache("myCache",
CacheConfigurationBuilder.newCacheConfigurationBuilder(
Long.class, long[].class,
ResourcePoolsBuilder.newResourcePoolsBuilder()
.heap(100000, EntryUnit.ENTRIES)
.offheap(1, MemoryUnit.GB)
.disk(2000, MemoryUnit.GB, true)
)
).build(true);
그래서이 오해의 뿌리는 단 한 마디 인 것 같습니다. 이제 Ehcache 문서에서 SoR은 항상 외부 시스템이라는 것을 이해합니다. 예제를 이해합니다. – BAMF4bacon