package com.example.demo.Util; import com.example.demo.service.GeneralService; import com.example.demo.service.WorkbenchService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.List; @Component public class CacheRefreshTask { @Autowired private GeneralService generalService; private static final Logger logger = LoggerFactory.getLogger(CacheRefreshTask.class); private final WorkbenchService workbenchService; @Autowired public CacheRefreshTask(WorkbenchService workbenchService) { this.workbenchService = workbenchService; } // 每小时执行一次(1分0秒) @Scheduled(cron = "0 1 * * * ?") public void refreshCache() { List markets = generalService.getMarket(); try { workbenchService.getCardCache(markets); // 内部会重新查询并写入缓存 logger.info("缓存刷新成功:" + new java.util.Date()); } catch (Exception e) { logger.error("缓存刷新失败:" + e.getMessage(), e); } } }