直接上问题:
当我们使用redis缓存时,发现保存在redis中的数据被默认的序列化规则所导成类似成下图:
所以我们需要自己写一个redis配置类,修改默认的序列化规则
创建一个MyRedisConfig配置类
@Configuration
public class MyRedisConfig {
@Bean
public RedisCacheManager redisCacheManager(RedisConnectionFactory connectionFactory) {
//初始化一个RedisCacheWriter
RedisCacheWriter cacheWriter = RedisCacheWriter.lockingRedisCacheWriter(connectionFactory);
//设置CacheManager的值序列化方式为json序列化
RedisSerializer<Object> j2 = new GenericJackson2JsonRedisSerializer();
RedisSerializationContext.SerializationPair<Object> pair = RedisSerializationContext.SerializationPair
.fromSerializer(j2);
RedisCacheConfiguration defaultCacheConfig = RedisCacheConfiguration.defaultCacheConfig()
.serializeValuesWith(pair);
//设置默认超过期时间是1天
defaultCacheConfig.entryTtl(Duration.ofDays(1));
//初始化RedisCacheManager
return new RedisCacheManager(cacheWriter, defaultCacheConfig);
}
}
配置完后在启动即可修改成json的方式