• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于java:LoadingCache简单实例使用google缓存机制缓存每天数据库第一条数据并保存

java 搞代码 3年前 (2022-02-19) 34次浏览 已收录 0个评论

应用LoadingCache缓存每天数据库第一条数据并保留

<code class="java"> private LoadingCache<String, Integer> minId = CacheBuilder.newBuilder().expireAfterWrite(1L, TimeUnit.DAYS).build(new CacheLoader<String, I<mark style="color:transparent">来源gaodaimacom搞#^代%!码网</mark>nteger>() {
    @Override
    public Integer load(String mixdate) throws Exception {
      Date date = LocalDate.parse(StringUtils.substringAfter(s, "@")).toDate();
      // 在本地没有缓存的时候会调用该办法进行加载,将获取的值进行缓存并返回后果
      if (ACTIVE_COUNTER.startsWith(mixdate)) {
        LoginLog loginLog = loginLogRepository.getTopByLoginTimeBeforeOrderByIdDesc(date);
        if (loginLog != null) {
          return loginLog.getId();
        }
      } else if (PLAYED_COUNTER.startsWith(mixdate)) {
        ViewHistory viewHistory = viewHistoryRepository.getTopByViewtimeBeforeOrderByIdDesc(date);
        if (viewHistory != null) {
          return viewHistory.getId();
        }
      } else if (ADCLICK_COUNTER.startsWith(mixdate)) {
        AdvClickHistory advClickHistory = advClickHistoryRepository.getTopByCreateTimeBeforeOrderByIdDesc(date);
        if (advClickHistory != null) {
          return advClickHistory.getId();
        }
      }
      return 0;
    }
  });
<code class="java">minId.getUnchecked(StringUtils.join(type, "@", date));

在这里取出当天的数据key,因为每天date都不一样,所以会获取当天的第一条数据,并缓存起来!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于java:LoadingCache简单实例使用google缓存机制缓存每天数据库第一条数据并保存
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址