Rev 30206 | Rev 30213 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.config;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.CachingConfigurerSupport;import org.springframework.cache.annotation.EnableCaching;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.jedis.JedisConnectionFactory;import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;import org.springframework.data.redis.serializer.RedisSerializationContext;import java.time.Duration;@Configuration@EnableCachingpublic class CacheConfig extends CachingConfigurerSupport {@BeanJedisConnectionFactory jedisConnectionFactory() {return new JedisConnectionFactory();}@Beanpublic RedisCacheConfiguration cacheConfiguration() {ObjectMapper objectMapper = new ObjectMapper().enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);return RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(120)).disableCachingNullValues().serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer(objectMapper)));}@Beanpublic CacheManager cacheManager() {return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory()).cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(5))).build();}@Beanpublic CacheManager timeoutCacheManager() {return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory()).cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(5))).build();}@Beanpublic CacheManager timeout15CacheManager() {return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory()).cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(15))).build();}@Beanpublic CacheManager oneDayCacheManager() {return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory()).cacheDefaults(cacheConfiguration().entryTtl(Duration.ofHours(8))).build();}@Beanpublic CacheManager twoMintimeoutCacheManager() {return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory()).cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(2))).build();}@Beanpublic CacheManager thirtyMinsTimeOutCacheManager() {return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory()).cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(30))).build();}}