Subversion Repositories SmartDukaan

Rev

Rev 29854 | Rev 30208 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
22009 ashik.ali 1
package com.spice.profitmandi.dao.config;
2
 
3
import org.springframework.cache.CacheManager;
4
import org.springframework.cache.annotation.CachingConfigurerSupport;
5
import org.springframework.cache.annotation.EnableCaching;
6
import org.springframework.context.annotation.Bean;
7
import org.springframework.context.annotation.Configuration;
30206 amit.gupta 8
import org.springframework.data.redis.cache.RedisCacheConfiguration;
9
import org.springframework.data.redis.cache.RedisCacheManager;
10
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
11
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
12
import org.springframework.data.redis.serializer.RedisSerializationContext;
22009 ashik.ali 13
 
30206 amit.gupta 14
import java.time.Duration;
22009 ashik.ali 15
 
16
@Configuration
17
@EnableCaching
23716 amit.gupta 18
public class CacheConfig extends CachingConfigurerSupport {
19
 
22009 ashik.ali 20
	@Bean
30206 amit.gupta 21
	JedisConnectionFactory jedisConnectionFactory() {
22
		return new JedisConnectionFactory();
23
	}
24
 
25
	@Bean
26
	public RedisCacheConfiguration cacheConfiguration() {
27
		return RedisCacheConfiguration.defaultCacheConfig()
28
				.entryTtl(Duration.ofMinutes(120))
29
				.disableCachingNullValues()
30
				.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));
31
	}
32
 
33
	@Bean
22009 ashik.ali 34
	public CacheManager cacheManager() {
30206 amit.gupta 35
		return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
36
				.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(5)))
37
				.build();
22009 ashik.ali 38
	}
23716 amit.gupta 39
 
30206 amit.gupta 40
 
22009 ashik.ali 41
	@Bean
42
	public CacheManager timeoutCacheManager() {
30206 amit.gupta 43
		return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
44
				.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(5)))
45
				.build();
22009 ashik.ali 46
	}
30206 amit.gupta 47
 
29854 amit.gupta 48
	@Bean
49
	public CacheManager timeout15CacheManager() {
30206 amit.gupta 50
		return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
51
				.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(15)))
52
				.build();
29854 amit.gupta 53
	}
23716 amit.gupta 54
 
23405 amit.gupta 55
	@Bean
56
	public CacheManager oneDayCacheManager() {
30206 amit.gupta 57
		return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
58
				.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofHours(8)))
59
				.build();
23405 amit.gupta 60
	}
22009 ashik.ali 61
 
30206 amit.gupta 62
 
22708 amit.gupta 63
	@Bean
64
	public CacheManager twoMintimeoutCacheManager() {
30206 amit.gupta 65
		return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
66
				.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(2)))
67
				.build();
22708 amit.gupta 68
	}
69
 
23405 amit.gupta 70
	@Bean
71
	public CacheManager thirtyMinsTimeOutCacheManager() {
30206 amit.gupta 72
		return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
73
				.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(30)))
74
				.build();
23405 amit.gupta 75
	}
76
 
22009 ashik.ali 77
}