个人使用场景: 做三级缓存
本地缓存实现,支持多种缓存过期策略
//初始化 Guava内存 LRU算法 private static LoadingCache<String, String> localCache = CacheBuilder.newBuilder() .initialCapacity(1000) .maximumSize(10000) .expireAfterAccess(12, TimeUnit.HOURS) .build(new CacheLoader<String, String>() { //默认的数据加载实现,当调用get取值的时候,如果key没有对应的值,就调用这个方法进行加载 @Override public String load(String s) throws Exception { return "null"; } }); public static void setKey(String key, String value) { localCache.put(key, value); } public static String getKey(String key) { String value = null; try { value = localCache.get(key); if ("null".equals(value)) { return null; } } catch (ExecutionException e) { log.error("localCache get error", e); } return null; }