|
@@ -2,12 +2,17 @@ package com.xkcoding.cache.redis.config; |
|
|
|
|
|
|
|
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter; |
|
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter; |
|
|
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; |
|
|
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; |
|
|
|
|
|
import org.springframework.cache.CacheManager; |
|
|
import org.springframework.cache.annotation.EnableCaching; |
|
|
import org.springframework.cache.annotation.EnableCaching; |
|
|
import org.springframework.context.annotation.Bean; |
|
|
import org.springframework.context.annotation.Bean; |
|
|
import org.springframework.context.annotation.Configuration; |
|
|
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.RedisConnectionFactory; |
|
|
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; |
|
|
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; |
|
|
import org.springframework.data.redis.core.RedisTemplate; |
|
|
import org.springframework.data.redis.core.RedisTemplate; |
|
|
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; |
|
|
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; |
|
|
|
|
|
import org.springframework.data.redis.serializer.RedisSerializationContext; |
|
|
import org.springframework.data.redis.serializer.StringRedisSerializer; |
|
|
import org.springframework.data.redis.serializer.StringRedisSerializer; |
|
|
|
|
|
|
|
|
import java.io.Serializable; |
|
|
import java.io.Serializable; |
|
@@ -41,4 +46,16 @@ public class RedisConfig { |
|
|
template.setConnectionFactory(redisConnectionFactory); |
|
|
template.setConnectionFactory(redisConnectionFactory); |
|
|
return template; |
|
|
return template; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 配置使用注解的时候缓存配置,默认是序列化反序列化的形式,加上此配置则为 json 形式 |
|
|
|
|
|
*/ |
|
|
|
|
|
@Bean |
|
|
|
|
|
public CacheManager cacheManager(RedisConnectionFactory factory) { |
|
|
|
|
|
// 配置序列化 |
|
|
|
|
|
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig(); |
|
|
|
|
|
RedisCacheConfiguration redisCacheConfiguration = config.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())); |
|
|
|
|
|
|
|
|
|
|
|
return RedisCacheManager.builder(factory).cacheDefaults(redisCacheConfiguration).build(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |