SpringBoot入门到精通-基于Google Guava Cache Util工具类实现本地缓存设置过期时间
【摘要】
因为功能比较小,不值当的引入redis,生产的话也会增加部署复杂度,于是想实现类似redis失效时间的功能,
百度之,发现Guava Cache可以实现,但是多数是跟springboot 集成的,找了很久找到一个Util类代码如下:
import com.google.common.cache.CacheBuilder;import...
因为功能比较小,不值当的引入redis,生产的话也会增加部署复杂度,于是想实现类似redis失效时间的功能,
百度之,发现Guava Cache可以实现,但是多数是跟springboot 集成的,找了很久找到一个Util类代码如下:
-
import com.google.common.cache.CacheBuilder;
-
import com.google.common.cache.CacheLoader;
-
import com.google.common.cache.LoadingCache;
-
-
import java.util.concurrent.ExecutionException;
-
import java.util.concurrent.TimeUnit;
-
-
/**
-
* 内存缓存工具类
-
* @author liuxi
-
* @info 2019-10-17 14:38 liuxi
-
*
-
*/
-
public class GuavaCacheUtils {
-
public static final String TOKEN_PREFIX = "token_";
-
/**
-
* 过期时间12小时
-
* @info 2019-10-17 14:28 liuxi
-
* 使用了LRU算法
-
* @param null
-
*/
-
private static LoadingCache localcache = CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(10000).expireAfterAccess(2, TimeUnit.HOURS).build(new CacheLoader<Object, Object>() {
-
// 如果 get取值的时候没有值,默认调用这个方法返回值
-
@Override
-
pu
文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wxb880114/article/details/107618849
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)