|
2 | 2 |
|
3 | 3 | import org.springframework.boot.autoconfigure.AutoConfigureAfter; |
4 | 4 | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; |
| 5 | +import org.springframework.cache.CacheManager; |
5 | 6 | import org.springframework.cache.annotation.EnableCaching; |
6 | 7 | import org.springframework.context.annotation.Bean; |
7 | 8 | import org.springframework.context.annotation.Configuration; |
| 9 | +import org.springframework.data.redis.cache.RedisCacheConfiguration; |
| 10 | +import org.springframework.data.redis.cache.RedisCacheManager; |
| 11 | +import org.springframework.data.redis.connection.RedisConnectionFactory; |
8 | 12 | import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; |
9 | 13 | import org.springframework.data.redis.core.RedisTemplate; |
10 | 14 | import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; |
| 15 | +import org.springframework.data.redis.serializer.RedisSerializationContext; |
11 | 16 | import org.springframework.data.redis.serializer.StringRedisSerializer; |
12 | 17 |
|
13 | 18 | import java.io.Serializable; |
@@ -41,4 +46,16 @@ public RedisTemplate<String, Serializable> redisCacheTemplate(LettuceConnectionF |
41 | 46 | template.setConnectionFactory(redisConnectionFactory); |
42 | 47 | return template; |
43 | 48 | } |
| 49 | + |
| 50 | + /** |
| 51 | + * 配置使用注解的时候缓存配置,默认是序列化反序列化的形式,加上此配置则为 json 形式 |
| 52 | + */ |
| 53 | + @Bean |
| 54 | + public CacheManager cacheManager(RedisConnectionFactory factory) { |
| 55 | + // 配置序列化 |
| 56 | + RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig(); |
| 57 | + RedisCacheConfiguration redisCacheConfiguration = config.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())); |
| 58 | + |
| 59 | + return RedisCacheManager.builder(factory).cacheDefaults(redisCacheConfiguration).build(); |
| 60 | + } |
44 | 61 | } |
0 commit comments