google 的 Guava的 Cache:本地缓存的简单应用。记下来以便以后查阅
举例:
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
Cache<Long, Long> cache= CacheBuilder.newBuilder().expireAfterWrite(8, TimeUnit.HOURS).build(); // 没有写访问后8小时过期
Cache<String, String> cache2= CacheBuilder.newBuilder().expireAfterWrite(8, TimeUnit.HOURS).build();
cache2.put("key1","abc");
System.out.println(cache2.get("key1")); // 输出abc
expireAfterWrite(long, TimeUnit):缓存项在给定时间内没有被写访问(创建或覆盖),则回收。如果认为缓存数据总是在固定时候后变得陈旧不可用,这种回收方式是可取的。
放入数据:cache.put(key,value);
取出数据:cache.getIfPresent(key);
如果直接:cache.get(key)的话,如果遇到不存在的key,则会抛出异常
另外可参考:官方api文档:https://guava.dev/releases/17.0/api/docs/com/google/common/cache/package-summary.html#package_description
demo教程:https://www.jianshu.com/p/38bd5f1cf2f2