定时缓存之LoadingCache

遇到的问题:在项目中需要使用一个定时更新某个本地缓存里面的数据
解决的方案:使用LoadingCache

val loadingCache: LoadingCache[String, util.List[String]] = CacheBuilder.newBuilder()
	.expireAfterAccess(10, TimeUnit.MINUTES).maximumSize(1L)
	.build(new CacheLoader[String, util.List[String]] {
		override def load(key: String): util.List[String] = {
			//TODO:更新缓存内容
		}
	})

我这里是10分钟更新一次本地缓存,将结果以util.List[String]形式保存,最大保存的大小maximumSize为1,也就是保存一个list集合。
那么我们如何取LoadingCache里面的数据呢?
我这里因为只有一个集合,所以key没有指定,也就是空的

val list = loadingCache.getUnchecked(StringUtils.EMPTY)

你可能感兴趣的:(大数据)