-
Guava 요약 4-Cachejava 2022. 5. 24. 14:03728x90반응형
공식 문서https://code.google.com/p/guava-libraries/wiki/CachesExplained
LoadingCache
이런 용법은 나 개인이 비교적 많이 쓴다.더 이상 말하지 말고 코드를 직접 보세요.LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() .maximumSize(1000) // 1000 .expireAfterWrite(10, TimeUnit.MINUTES)// 10min. .removalListener(MY_LISTENER)//listenner .build( new CacheLoader<Key, Graph>() { // load . public Graph load(Key key) throws AnyException { return createExpensiveGraph(key); } });
위의 코드는 이해하기 쉬워요..사용할 때 아주 간단해요.오직
graphs.getUnchecked(key)
그래도 간단해.
그런데 여기 요구 사항이 하나 있습니다.load의 반환값은null로 허용되지 않습니다.그러나 우리의 많은 업무 장면에서null의 반환값을 자주 만날 수 있다.해결 방법은 옵션al을 통해서실제 코드를 구체적으로 보다/** * ID cache */ private LoadingCache<Long,Optional<LotteryAwardMO>> idLotteryAwardCache; private void init() { idLotteryAwardCache = CacheBuilder.newBuilder().maximumSize(100).expireAfterWrite(5, TimeUnit.SECONDS).build(new CacheLoader<Long, Optional<LotteryAwardMO>>() { @Override public Optional<LotteryAwardMO> load(Long key) throws Exception { LotteryAwardMsgBO lotteryAwardMsgBO = lotteryAwardMsgManager.get(key); return Optional.fromNullable(toLotteryAwardMO(lotteryAwardMsgBO)); } }); }
사용법도 간단해요.idLotteryAwardCache.getUnchecked(awardId).orNull()
CallBack
콜백의 용법은 내가 실제에서 사용한 다음에 쓰자더보기이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
단기판 시스템에서 간단한 캐시 기능(분포식 캐시 시스템을 사용하지 않음)을 실현해야 한다. 메모리에서 하나의 맵으로 실현하면 된다. 일반적인 맵은 링크드 해시맵도 위크 해시맵으로 실현할 수 있다. 그들의 차이점은 탈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
728x90반응형'java' 카테고리의 다른 글
Split a PDF file (using iText) (0) 2022.07.07 [Java] iText를 이용하여 HTML 텍스트를 PDF로 변환하기. (0) 2022.07.07 Guava Cache 메모리 캐 시 사용 실천 - 정시 비동기 리 셋 및 단순 추상 패키지 (6) 2022.05.24 Guava Cache (구아바 캐시) (0) 2022.05.24 Windows, Amazon Corretto(OpenJDK) 17 설치하기 (0) 2021.12.02