手把手教學Guava cache,包教包會,不會我輸一包辣條給你
阿新 • • 發佈:2018-12-14
guava cache使用簡介
guava cache 是利用CacheBuilder類用builder模式構造出兩種不同的cache載入方式CacheLoader,Callable,共同邏輯都是根據key是載入value。不同的地方在於CacheLoader的定義比較寬泛,是針對整個cache定義的,可以認為是統一的根據key值load value的方法,而Callable的方式較為靈活,允許你在get的時候指定load方法。看以下程式碼
1 Cache<String,Object> cache = CacheBuilder.newBuilder()2 .expireAfterWrite(10, TimeUnit.SECONDS).maximumSize(500).build(); 3 4 cache.get("key", new Callable<Object>() { //Callable 載入 5 @Override 6 public Object call() throws Exception { 7 return "value"; 8 } 9 });10 11 LoadingCache<String, Object> loadingCache = CacheBuilder.newBuilder() 12 .expireAfterAccess(30, TimeUnit.SECONDS).maximumSize(5) 13 .build(new CacheLoader<String, Object>() { 14 @Override 15 public Object load(String key) throwsException { 16 return "value"; 17 } 18 });