feat: 修改缓存配置,redis key统一放在RedisKey中

This commit is contained in:
yys 2026-04-17 16:31:17 +08:00
parent d69d2a1df7
commit 580e484dd0
3 changed files with 33 additions and 1 deletions

View File

@ -0,0 +1,15 @@
package com.ruoyi.common.constant;
/**
* Redis / Spring Cache 名称等常量 {@code @Cacheable(cacheNames = ...)}RedisCacheConfiguration 一致
*/
public final class RedisKey {
private RedisKey() {
}
/**
* Spring Cache 部门近七日汇总{@code @Cacheable} TTL 配置须同名
*/
public static final String CACHE_DEPT_SUMMARY = "dept_summary";
}

View File

@ -1,14 +1,19 @@
package com.ruoyi.framework.config;
import java.time.Duration;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import com.ruoyi.common.constant.RedisKey;
import org.springframework.boot.autoconfigure.cache.RedisCacheManagerBuilderCustomizer;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
@ -23,6 +28,17 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
/**
* 部门汇总等缓存单独 TTL {@link RedisKey#CACHE_DEPT_SUMMARY} 对应
*/
@Bean
public RedisCacheManagerBuilderCustomizer deptSummaryCacheTtlCustomizer() {
return builder -> builder.withCacheConfiguration(
RedisKey.CACHE_DEPT_SUMMARY,
RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(5)));
}
@Bean
@SuppressWarnings(value = {"unchecked", "rawtypes"})
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {

View File

@ -3,6 +3,7 @@ package com.ruoyi.ai.service.impl;
import com.ruoyi.ai.domain.AiVideoReportData;
import com.ruoyi.ai.mapper.AiVideoReportDataMapper;
import com.ruoyi.ai.service.IAiVideoReportDataService;
import com.ruoyi.common.constant.RedisKey;
import com.ruoyi.common.core.dto.DeptSummaryDTO;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -41,7 +42,7 @@ public class AiVideoReportDataServiceImpl implements IAiVideoReportDataService {
* 部门近七日汇总数据
*/
@Override
@Cacheable(cacheNames = "dept_summary", key = "#deptId")
@Cacheable(cacheNames = RedisKey.CACHE_DEPT_SUMMARY, key = "#deptId")
public DeptSummaryDTO getSevenDayDeptSummaryData(Long deptId) {
Date endTime = new Date();
// 获取今天的0点再减去7天