異常錯誤 spring boot框架與Redis整合Unexpected character(‘≣‘ (code 8803 / 0x2263): expected a valid value...報錯

L文力發表於2020-11-27

提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文件


前言

錯誤記錄


一、錯誤詳情

控制檯報錯資訊

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導致了反序列化的時候讀取失敗。


相關文章