缓存管理器

This commit is contained in:
wangw 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 org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.scheduling.annotation.EnableScheduling;
@ -11,6 +12,7 @@ import java.util.Map;
/**
* @author GYJ
*/
@EnableCaching
@EnableScheduling
@SpringBootApplication
public class SqxApplication {

View File

@ -1,12 +1,19 @@
package com.sqx.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
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.core.*;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.time.Duration;
/**
* Redis配置
*
@ -16,6 +23,18 @@ public class RedisConfig {
@Autowired
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
public RedisTemplate<String, Object> 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.course.service.CourseService;
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 java.text.SimpleDateFormat;
@ -16,6 +19,7 @@ import java.util.Date;
* @author fang
* @date 2020/7/8
*/
@CacheConfig(cacheNames = "common")
@Service
public class CommonInfoServiceImpl extends ServiceImpl<CommonInfoDao, CommonInfo> implements CommonInfoService {
@ -43,19 +47,20 @@ public class CommonInfoServiceImpl extends ServiceImpl<CommonInfoDao, CommonInfo
return Result.success();
}
@CachePut(key = "#type")
@Override
public CommonInfo findOne(int type) {
return commonInfoDao.findOne(type);
}
@CacheEvict
@Override
public Result delete(long id) {
commonInfoDao.deleteById(id);
return Result.success();
}
@CacheEvict
@Override
public Result updateBody(CommonInfo commonInfo) {
commonInfoDao.updateById(commonInfo);