java缓存之 本地缓存(LoadingCache)

贴一个 优势:Guava Cache是一个全内存的本地缓存实现,它提供了线程安全的实现机制。整体上来说Guava cache 是本地缓存的不二之选,简单易用,性能好。
我的觉得 简单好用,没有redis 那么复杂有那么多配置。
下面实现它的用法:

private static LoadingCache loadingCache = CacheBuilder.newBuilder() //初始化缓存容量 .initialCapacity(1000) //缓存容量最大值//超过最大值:LRU进行清除. .maximumSize(10000) //缓存有效期 .expireAfterAccess(12, TimeUnit.HOURS).build( new CacheLoader() { //默认的数据加载实现,当调用get取值: null调用 load@Override public String load(String s) throws Exception { return "null"; } });

LRU 算法的简介:
LRU算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
具体实现:
1. 新数据插入到链表头部;
2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;
3. 当链表满的时候,将链表尾部的数据丢弃。
下面是本地缓存的使用了:
public static void setKey(String key,String value){ loadingCache.put(key,value); //put 放入值。 } public static String getKey(String key){ String value = https://www.it610.com/article/null; try { value = loadingCache.get(key); if ("null".equals(value)){ return null; } return value; }catch (Exception e){ logger.error("localCache get error ",e); } return null; }

【java缓存之 本地缓存(LoadingCache)】一个设置值,一个获取设置的值。

    推荐阅读