@Cacheable 缓存值乱码如何解决?


已经配置过RedisTemplate

@Beanpublic RedisTemplate redisTemplateInit() {    //设置序列化Key的实例化对象
    redisTemplate.setKeySerializer(new StringRedisSerializer());    //设置序列化Value的实例化对象
    redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());    return redisTemplate;
}

现在通过RedisTemplate直接设置值是没有问题的。

但是通过在方法上使用@Cacheable注解的方式缓存数据,key是正常的,value会出现一定的乱码,如下:
"xacxedx00x05tx00x1fStudent{name='test', age=22}"

是在redis中看是乱码,直接用代码取是正常的

请问有人遇到过这个问题吗?该如何解决


青春有我
浏览 1698回答 1
1回答

皈依舞

是第二次请求接口使返回的数据乱码吗?还是查询redis中的值时乱码。我也在springboot的一个小项目中测试了一下,不过功能正常。jpa:    show-sql: true  jackson:    default-property-inclusion: non_null  redis:    host: 192.168.1.111    port: 6379对于使用StringRedisTemplate去存储token的AOP是正常的没我并没有配置什么,而是直接使用springboot的集成,import org.springframework.data.redis.core.StringRedisTemplate;
打开App,查看更多内容
随时随地看视频慕课网APP