当前位置: 首页 > 后端技术 > Java

LoadingCache的一个简单例子,利用google的缓存机制,每天缓存数据库中的第一条数据并保存

时间:2023-04-02 01:05:06 Java

每天使用LoadingCache缓存数据库第一条数据并保存privateLoadingCacheminId=CacheBuilder.newBuilder().expireAfterWrite(1L,TimeUnit.DAYS).build(newCacheLoader(){@OverridepublicIntegerload(Stringmixdate)throwsException{Datedate=LocalDate.parse(StringUtils.substringAfter(s,"@")).toDate();//当没有本地缓存??时,会调用该方法加载,并将获取到的值缓存并返回结果if(ACTIVE_COUNTER.startsWith(mixdate)){}elseif(PLAYED_COUNTER.startsWith(mixdate)){ViewHistoryviewHistory=viewHistoryRepository.getTopByViewtimeBeforeOrderByIdDesc(date);if(viewHistory!=null){returnviewHistory.getId();}}elseif(ADCLICK_COUNTER.startsWith(mixdate)){AdvClickHistoryadvClickHistory。CreateTimeBeforeOrderByIdDesc(日期);if(advClickHistory!=null){返回advClickHistory.getId();}}返回0;}});minId.getUnchecked(StringUtils.join(type,"@",date));这里取出当天的数据key,因为每天的日期都不一样,所以会获取当天的第一条数据并缓存起来!