缓存管理器

This commit is contained in:
2024-12-23 17:17:09 +08:00
parent 81da6fa6a3
commit ed21f91555
3 changed files with 28 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ package com.sqx;
import com.sqx.modules.pay.wuyou.WuyouPay; import com.sqx.modules.pay.wuyou.WuyouPay;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
@@ -11,6 +12,7 @@ import java.util.Map;
/** /**
* @author GYJ * @author GYJ
*/ */
@EnableCaching
@EnableScheduling @EnableScheduling
@SpringBootApplication @SpringBootApplication
public class SqxApplication { public class SqxApplication {

View File

@@ -1,12 +1,19 @@
package com.sqx.config; package com.sqx.config;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.*; import org.springframework.data.redis.core.*;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.time.Duration;
/** /**
* Redis配置 * Redis配置
* *
@@ -16,6 +23,18 @@ public class RedisConfig {
@Autowired @Autowired
private RedisConnectionFactory factory; private RedisConnectionFactory factory;
@Bean
public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(30))
// 设置缓存过期时间为30分钟
.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()))
.disableCachingNullValues();
return RedisCacheManager.builder(redisConnectionFactory)
.cacheDefaults(cacheConfiguration)
.build();
}
@Bean @Bean
public RedisTemplate<String, Object> redisTemplate() { public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();

View File

@@ -7,6 +7,9 @@ import com.sqx.modules.common.entity.CommonInfo;
import com.sqx.modules.common.service.CommonInfoService; import com.sqx.modules.common.service.CommonInfoService;
import com.sqx.modules.course.service.CourseService; import com.sqx.modules.course.service.CourseService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@@ -16,6 +19,7 @@ import java.util.Date;
* @author fang * @author fang
* @date 2020/7/8 * @date 2020/7/8
*/ */
@CacheConfig(cacheNames = "common")
@Service @Service
public class CommonInfoServiceImpl extends ServiceImpl<CommonInfoDao, CommonInfo> implements CommonInfoService { public class CommonInfoServiceImpl extends ServiceImpl<CommonInfoDao, CommonInfo> implements CommonInfoService {
@@ -43,19 +47,20 @@ public class CommonInfoServiceImpl extends ServiceImpl<CommonInfoDao, CommonInfo
return Result.success(); return Result.success();
} }
@CachePut(key = "#type")
@Override @Override
public CommonInfo findOne(int type) { public CommonInfo findOne(int type) {
return commonInfoDao.findOne(type); return commonInfoDao.findOne(type);
} }
@CacheEvict
@Override @Override
public Result delete(long id) { public Result delete(long id) {
commonInfoDao.deleteById(id); commonInfoDao.deleteById(id);
return Result.success(); return Result.success();
} }
@CacheEvict
@Override @Override
public Result updateBody(CommonInfo commonInfo) { public Result updateBody(CommonInfo commonInfo) {
commonInfoDao.updateById(commonInfo); commonInfoDao.updateById(commonInfo);