喵星之旅-屯粮的松鼠-redis读取字符串报错

手工放入redis字符串类型数据,程序读取异常。

代码如下

1
2
3
4
5
Object reuslt=redisTemplate.opsForValue().get("key");
if(reuslt!=null){
return reuslt.toString();
}
return null;

主要报错信息:

1
2
3
org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Unrecognized token 'UserDetailService': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (byte[])"UserDetailService"; line: 1, column: 18]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'UserDetailService': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (byte[])"UserDetailService"; line: 1, column: 18]

原因

直接手动放入redis数据,程序无法识别。不识别原因为不同工具、不同版本,对数据规则不同。同样数据不同程序可能识别结果不同。

具体到本问题,放入redis的数据是一样格式的,但是不同的服务采用的工具有差异,有的直接识别字符串,有的需要特殊格式标识为字符串类型。

解决办法

通过程序放入数据,观察数据特点,按照程序放入的进行手工放入数据。

具体到这个问题是放入字符串类型数据用双引号括起来。

文章目录
  1. 代码如下
  2. 主要报错信息:
  3. 原因
  4. 解决办法
|