springboot中默认存入缓存的数据,使用的序列化方案对应的值不方便查看,我们希望存入json格式值,所以要配置cacheManager达到效果
springboot2的缓存管理器配置和springboot1有所差别,所以记录下来:
效果图:

1cacheManager配置代码: 2 3//缓存管理器 4 @Bean(name = "cacheManager") 5 @Primary 6 public CacheManager cacheManager(ObjectMapper objectMapper, RedisConnectionFactory redisConnectionFactory) { 7 //设置序列化 8 Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); 9 ObjectMapper om = new ObjectMapper(); 10 om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); 11 om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); 12 jackson2JsonRedisSerializer.setObjectMapper(om); 13 14 RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig() 15 .disableCachingNullValues() 16// .computePrefixWith(cacheName -> "yourAppName".concat(":").concat(cacheName).concat(":")) 17 .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())) 18 .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer)); 19 20 return RedisCacheManager.builder(redisConnectionFactory) 21 .cacheDefaults(cacheConfiguration) 22 .build(); 23 }