猿问

项目中用到spring管理redis缓存,配置好后只能缓存String类型数据

如截图所示,如果要缓存的数据是String类型,能正常放进去

 

但是如果是个非String类型,比方说是个List类型,它就会报错,java.util.List cannot be cast to java.lang.String

debug了一下是在org.springframework.cache.interceptor.AbstractCacheInvoker里的doPut方法里报的RunTimeException,如图

 这个类型转换不成功,是哪里配置不对么?实在找不出来具体的报错地方是哪里,有人知道的请帮忙看看。。。。

HUX布斯
浏览 744回答 6
6回答

慕田峪7331174

你的key和value都要序列化的 像stringSerializer和 valueSerializer之类的

蓝山帝景

先json序列化了再放进去.

ibeautiful

 转化为json字符串是可以放进去,但是项目中大多数情况都是要缓存实体bean的,而且我看网上别人可以缓存,所以我要知道问题的答案

暮色呼如

@那啥快看: 也是序列化的.不过是序列化的方式不一样.

Qyouu

@吴瑞祥: 你说的是对的,已经解决了
随时随地看视频慕课网APP

相关分类

Java
我要回答