| Line 14... |
Line 14... |
| 14 |
import org.springframework.data.redis.cache.RedisCacheConfiguration;
|
14 |
import org.springframework.data.redis.cache.RedisCacheConfiguration;
|
| 15 |
import org.springframework.data.redis.cache.RedisCacheManager;
|
15 |
import org.springframework.data.redis.cache.RedisCacheManager;
|
| 16 |
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
|
16 |
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
|
| 17 |
import org.springframework.data.redis.core.RedisTemplate;
|
17 |
import org.springframework.data.redis.core.RedisTemplate;
|
| 18 |
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
|
18 |
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
|
| - |
|
19 |
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
|
| 19 |
import org.springframework.data.redis.serializer.RedisSerializationContext;
|
20 |
import org.springframework.data.redis.serializer.RedisSerializationContext;
|
| 20 |
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
21 |
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
| 21 |
|
22 |
|
| 22 |
import java.time.Duration;
|
23 |
import java.time.Duration;
|
| 23 |
import java.util.HashMap;
|
24 |
import java.util.HashMap;
|
| Line 130... |
Line 131... |
| 130 |
public CacheManager redisShortCacheManager() {
|
131 |
public CacheManager redisShortCacheManager() {
|
| 131 |
return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
|
132 |
return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
|
| 132 |
.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(60)))
|
133 |
.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(60)))
|
| 133 |
.build();
|
134 |
.build();
|
| 134 |
}
|
135 |
}
|
| - |
|
136 |
private RedisCacheConfiguration jdkCacheConfiguration(Duration ttl) {
|
| - |
|
137 |
return RedisCacheConfiguration.defaultCacheConfig()
|
| - |
|
138 |
.entryTtl(ttl)
|
| - |
|
139 |
.disableCachingNullValues()
|
| - |
|
140 |
.serializeValuesWith(RedisSerializationContext.SerializationPair
|
| - |
|
141 |
.fromSerializer(new JdkSerializationRedisSerializer()));
|
| - |
|
142 |
}
|
| - |
|
143 |
|
| 135 |
@Bean
|
144 |
@Bean
|
| 136 |
public CacheManager redisCacheManager() {
|
145 |
public CacheManager redisCacheManager() {
|
| - |
|
146 |
RedisCacheConfiguration defaultJsonConfig = cacheConfiguration().entryTtl(Duration.ofHours(6));
|
| - |
|
147 |
RedisCacheConfiguration jdkConfig = jdkCacheConfiguration(Duration.ofHours(6));
|
| - |
|
148 |
|
| 137 |
Map<String, RedisCacheConfiguration> cacheConfigurations = new HashMap<>();
|
149 |
Map<String, RedisCacheConfiguration> cacheConfigurations = new HashMap<>();
|
| 138 |
cacheConfigurations.put("offer.achievement", cacheConfiguration().entryTtl(Duration.ofMinutes(30)));
|
150 |
cacheConfigurations.put("offer.achievement", jdkCacheConfiguration(Duration.ofMinutes(30)));
|
| - |
|
151 |
// Use JDK serialization for caches returning Map<Integer, ...>
|
| - |
|
152 |
// to preserve Integer key types (JSON serializes map keys as String)
|
| - |
|
153 |
cacheConfigurations.put("allOffers", jdkConfig);
|
| - |
|
154 |
cacheConfigurations.put("offer.slabpayout", jdkConfig);
|
| - |
|
155 |
cacheConfigurations.put("catalog.published_yearmonth", jdkConfig);
|
| - |
|
156 |
|
| 139 |
return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
|
157 |
return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
|
| 140 |
.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofHours(6)))
|
158 |
.cacheDefaults(defaultJsonConfig)
|
| 141 |
.withInitialCacheConfigurations(cacheConfigurations)
|
159 |
.withInitialCacheConfigurations(cacheConfigurations)
|
| 142 |
.build();
|
160 |
.build();
|
| 143 |
}
|
161 |
}
|
| 144 |
@Bean
|
162 |
@Bean
|
| 145 |
public CacheManager redisOneDayCacheManager() {
|
163 |
public CacheManager redisOneDayCacheManager() {
|