Subversion Repositories SmartDukaan

Rev

Rev 36057 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36057 Rev 36081
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() {