|
|
|
@@ -19,7 +19,9 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; |
|
|
|
|
|
|
|
import java.time.Duration; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.HashSet; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Set; |
|
|
|
|
|
|
|
/** |
|
|
|
* Created by Stormeye on 2018/10/1. |
|
|
|
@@ -33,6 +35,7 @@ public class RedisConfig extends CachingConfigurerSupport { |
|
|
|
//缓存管理器 |
|
|
|
@Bean |
|
|
|
public CacheManager cacheManager(RedisConnectionFactory connectionFactory) { |
|
|
|
/* |
|
|
|
//user信息缓存配置 |
|
|
|
RedisCacheConfiguration userCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(10)).disableCachingNullValues().prefixKeysWith("user"); |
|
|
|
Map<String, RedisCacheConfiguration> redisCacheConfigurationMap = new HashMap<>(); |
|
|
|
@@ -50,6 +53,26 @@ public class RedisConfig extends CachingConfigurerSupport { |
|
|
|
//初始化RedisCacheManager |
|
|
|
RedisCacheManager cacheManager = new RedisCacheManager(redisCacheWriter, defaultCacheConfig, redisCacheConfigurationMap); |
|
|
|
return cacheManager; |
|
|
|
*/ |
|
|
|
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig(); // 生成一个默认配置,通过config对象即可对缓存进行自定义配置 |
|
|
|
config = config.entryTtl(Duration.ofMinutes(1)) // 设置缓存的默认过期时间,也是使用Duration设置 |
|
|
|
.disableCachingNullValues(); // 不缓存空值 |
|
|
|
|
|
|
|
// 设置一个初始化的缓存空间set集合 |
|
|
|
Set<String> cacheNames = new HashSet<>(); |
|
|
|
cacheNames.add("my-redis-cache1"); |
|
|
|
cacheNames.add("my-redis-cache2"); |
|
|
|
|
|
|
|
// 对每个缓存空间应用不同的配置 |
|
|
|
Map<String, RedisCacheConfiguration> configMap = new HashMap<>(); |
|
|
|
configMap.put("my-redis-cache1", config); |
|
|
|
configMap.put("my-redis-cache2", config.entryTtl(Duration.ofSeconds(120))); |
|
|
|
|
|
|
|
RedisCacheManager cacheManager = RedisCacheManager.builder(connectionFactory) // 使用自定义的缓存配置初始化一个cacheManager |
|
|
|
.initialCacheNames(cacheNames) // 注意这两句的调用顺序,一定要先调用该方法设置初始化的缓存名,再初始化相关的配置 |
|
|
|
.withInitialCacheConfigurations(configMap) |
|
|
|
.build(); |
|
|
|
return cacheManager; |
|
|
|
} |
|
|
|
|
|
|
|
@Bean("pushLimitRedisTemplate") |
|
|
|
|