From ec6198edc50af249cd721e9bf91aab67ee3e5fc4 Mon Sep 17 00:00:00 2001 From: gjh <1421wake> Date: Tue, 18 Mar 2025 15:42:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9C=8B=E6=9D=BF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E9=80=9F=E5=BA=A6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/HuzhouProjectinfoServiceImpl.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java index ec44f11..380ad8e 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java @@ -3,6 +3,7 @@ package com.easy.admin.modules.huzhou.service.impl; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -41,6 +42,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -54,10 +56,7 @@ import java.math.RoundingMode; import java.time.LocalDate; import java.time.temporal.ChronoUnit; import java.util.*; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; +import java.util.concurrent.*; import java.util.stream.Collectors; @Service @@ -121,6 +120,8 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl queryBoardInfo() { // 记录开始时间 long startTime = System.currentTimeMillis(); + String redisKey = "huzhou_board_info"; + // 如果存在缓存数据,则直接返回缓存数据 + String cacheData = stringRedisTemplate.opsForValue().get(redisKey); + log.info("***查询晾晒看板,缓存键:{}", redisKey); + if (StringUtils.isNotBlank(cacheData)){ + List projectInfoList = JSON.parseArray(cacheData, HuzhouProjectinfo.class); + long endTime = System.currentTimeMillis(); + log.info("查询出{}条数据,查询Redis缓存耗时:{}ms",projectInfoList.size(), endTime-startTime); + return projectInfoList; + } + // 获取所有项目信息 List projectInfoList = this.list(); @@ -2760,6 +2772,9 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl Optional.ofNullable(p.getCurrentStage()).orElse(""))) .collect(Collectors.toList()); + stringRedisTemplate.opsForValue().set(redisKey, JSON.toJSONString(projectInfoList)); + stringRedisTemplate.expire(redisKey, 30, TimeUnit.MINUTES); + // 记录结束时间并计算耗时 long endTime = System.currentTimeMillis(); long duration = endTime - startTime;