已经配置过RedisTemplate
@Bean
public RedisTemplate redisTemplateInit() {
//设置序列化Key的实例化对象
redisTemplate.setKeySerializer(new StringRedisSerializer());
//设置序列化Value的实例化对象
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
现在通过RedisTemplate直接设置值是没有问题的。
但是通过在方法上使用@Cacheable
注解的方式缓存数据,key是正常的,value会出现一定的乱码,如下:
"xacxedx00x05tx00x1fStudent{name='test', age=22}"
是在redis中看是乱码,直接用代码取是正常的
请问有人遇到过这个问题吗?该如何解决
是第二次请求接口使返回的数据乱码吗?
还是查询redis中的值时乱码。
我也在springboot的一个小项目中测试了一下,不过功能正常。
对于使用StringRedisTemplate去存储token的AOP是正常的没我并没有配置什么,而是直接使用springboot的集成,
然后我再一个请求商品的list时加了@Cacheable进行商品信息的缓存。
再页面与postman都是正常的显示数据,且控制台也跑出了sql(我这里执行两个sql操作)


当我再次刷新时,sql并没有执行,而是去请求redis。
我去查看了redis,也正常存储进去了
你能具体说下你的bug问题还有复现下它的发生环境吗?