一个轻量的java缓存方式ExpiringMap
一个轻量的java缓存方式ExpiringMap,可以设置map过期时间一、简单介绍应用程序中引入缓存能够降低数据库方面的压力,比如常用的Redis缓存中间件。但是在有些小场景下,使用Redis不仅增加了系统的复杂性和不确定性,还有点大材小用。而ExpiringMap适合缓存那些被频繁查询以及数据量不是很大的数据信息。它具有如下功能:可以设置存储元素的过期时间;可设置最大的数据元素存储量;设置过期
一个轻量的java缓存方式ExpiringMap,可以设置map过期时间
一、简单介绍
应用程序中引入缓存能够降低数据库方面的压力,比如常用的Redis缓存中间件。但是在有些小场景下,使用Redis不仅增加了系统的复杂性和不确定性,还有点大材小用。而ExpiringMap适合缓存那些被频繁查询以及数据量不是很大的数据信息。它具有如下功能:
可以设置存储元素的过期时间;
可设置最大的数据元素存储量;
设置过期协议,过期协议分有两种:ExpirationPolicy.CREATED和ExpirationPolicy.ACCESSED。它俩之间的区别:前者在每次更新元素时,过期时间同时清零;后者是在每次访问元素时,过期时间同时清零。
二、使用:
2.1、加入依赖:
2.2、用法:
ExpiringMap<String, String> map = ExpiringMap.builder()
//设置最大值,添加第11个entry时,会导致第1个立马过期(即使没到过期时间)
.maxSize(10)
//设置元素10秒后过期。参数一:时长 参数二:时间单位 秒、天、月…
.expiration(10, TimeUnit.SECONDS)
/* 过期协议
ExpirationPolicy.CREATED:在每次更新元素时,过期时间同时清零。
ExpirationPolicy.ACCESSED:在每次访问元素时,过期时间同时清零。
*/
.variableExpiration().expirationPolicy(ExpirationPolicy.CREATED).build();
map.put(“token”, “lkj2412lj1412412nmlkjl2n34l23n4”);
//给元素单独设置有效期
//参数一:key 参数二:value 参数三:过期时长 参数四:过期时间单位
map.put(“name”, “管理员”, 15, TimeUnit.SECONDS);
更多推荐
所有评论(0)