사용자 도구

사이트 도구


java:guava:cachebuilder

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:guava:cachebuilder [2018/09/27 14:39]
kwon37xi
java:guava:cachebuilder [2019/06/04 16:34] (현재)
kwon37xi [LoadingCache]
줄 24: 줄 24:
     }     }
   });   });
 +  
 +  // 아래와 같이 lambda로 처리 가능하다.
 +  CacheLoader.from(this::someMethod)
 </code> </code>
   * ''CacheLoader'' 구현시에 ''loadAll(Iterable<? extends Key> keys)'' 를 함께 구현하면, ''LoadingCache.getAll()''에 의해서 키값을 다중으로 가져오는 것에 대응할 수 있다. 이 경우 ''load''는 ''loadAll''을 호출해서 처리하도록 한다.   * ''CacheLoader'' 구현시에 ''loadAll(Iterable<? extends Key> keys)'' 를 함께 구현하면, ''LoadingCache.getAll()''에 의해서 키값을 다중으로 가져오는 것에 대응할 수 있다. 이 경우 ''load''는 ''loadAll''을 호출해서 처리하도록 한다.
 +  * ''loadAll''은 Key에 대한 모든 값을 리턴해야한다. 그렇지 않으면 오류가 발생한다. null 상황 캐시가 필요하면 ''Optional''을 사용한다.
  
 ===== com.google.common.cache.Cache ===== ===== com.google.common.cache.Cache =====
   * 그냥 Cache는 build시에 CacheLoader를 지정하지 않고, get할 때 값을 가져오는 로직을 넣을 수 있다.   * 그냥 Cache는 build시에 CacheLoader를 지정하지 않고, get할 때 값을 가져오는 로직을 넣을 수 있다.
 +  * 단, 객체 Type은 ''Cache''로 받아야한다. ''LoadingCache'' 불가.
 <code java> <code java>
 Cache<Key, Value> cache = CacheBuilder.newBuilder() Cache<Key, Value> cache = CacheBuilder.newBuilder()
java/guava/cachebuilder.1538026775.txt.gz · 마지막으로 수정됨: 2018/09/27 14:39 저자 kwon37xi