我是靠谱客的博主 活力蜻蜓,最近开发中收集的这篇文章主要介绍java缓存之com.github.benmanes.caffeine.cache.Cache,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
java中缓存手法很多,今天试了一下com.github.benmanes.caffeine.cache.Cache,感觉很好用
该缓存有两种策略
expireAfterAccess 每次读取之后,就续期设定时间
expireAfterWrite 写入之后,设定时候到了就过期,两种过期策略同时设定,默认改方法生效。
private static Cache<String, String> roleCache = null;
public static void main(String[] args) throws InterruptedException {
int i = 0;
roleCache = Caffeine.newBuilder()
//这种写法,每次读取之后,5s超时,读一次,续期一次。
.expireAfterAccess(5, TimeUnit.SECONDS)
//这种写法,写进去以后,5秒超时,不能续期,两种方法都写,该方法生效。
.expireAfterWrite(5, TimeUnit.SECONDS)
.maximumSize(100)
.build();
roleCache.put("cache","cache");
ConcurrentMap<String,String> cacheMap = roleCache.asMap();
cacheMap.put("map","map");
while (true){
Thread.sleep(1000L);
if(cacheMap.containsKey("cache")){
System.out.println("=============="+roleCache.getIfPresent("cache"));
} else {
System.out.println("============== cache no found cache" );
}
if(cacheMap.containsKey("map")){
System.out.println("=============="+roleCache.getIfPresent("map"));
} else {
System.out.println("============== cache no found map" );
}
i++;
if(i>100){
break;
}
}
}
最后
以上就是活力蜻蜓为你收集整理的java缓存之com.github.benmanes.caffeine.cache.Cache的全部内容,希望文章能够帮你解决java缓存之com.github.benmanes.caffeine.cache.Cache所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复