提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
错误记录
一、错误详情
控制台报错信息
org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Unexpected character ('≣' (code 8803 / 0x2263)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: [B@309b8144; line: 1, column: 3]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('≣' (code 8803 / 0x2263)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: [B@309b8144; line: 1, column: 3]
二、解决
使用RedisTemplate的时候,用这个方法设置value值才是对的:
// 正确方法
redisTemplate.boundValueOps(token).set(userInfo);
后来试验下面这个方法,忘了改回来,导致了错误。
// 试验这个方法
redisTemplate.boundValueOps(token).set(userInfo, 1L);
这个方法两个参数分别是(Object value, Long offset),第一个是值,第二个是偏移量,偏移量传入了个1L,这时候写入redis的值前面偏移了1,在Redis Desktop Manager看的时候,发现前面有个\0x00,多出这个\0x00导致了反序列化的时候读取失败。