日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring-data-redis 反序列化异常

發(fā)布時(shí)間:2025/4/16 javascript 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring-data-redis 反序列化异常 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

環(huán)境:
1. 在做和客戶的一個(gè)對(duì)接項(xiàng)目中,需要從客戶的redis緩存中取一些基礎(chǔ)數(shù)據(jù),遇到了一些問題,在此記錄:
2. 環(huán)境:
spring-data-redis(客戶:2.0.7,我方:1.8.9)
spring-core:(客戶:不知,我方:4.3.8)
心路歷程:
1. 查看日志,里面確實(shí)有反序列化異常,然后,確認(rèn)雙方的序列化方式和反序列化方式對(duì)應(yīng)關(guān)系,確定都是使用的spring-data-redis的默認(rèn)序列化和反序列化;

org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.InvalidClassException: org.springframework.util.LinkedCaseInsensitiveMap; local class incompatible: stream classdesc serialVersionUID = 7585587129342584356, local class serialVersionUID = 3417330771149596951 at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.deserialize(JdkSerializationRedisSerializer.java:82)at org.springframework.data.redis.core.AbstractOperations.deserializeValue(AbstractOperations.java:318)at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:58)
  • 懷疑是我方項(xiàng)目中的其他組件和spring-data-redis中的依賴有沖突,挨個(gè)排查,發(fā)現(xiàn)并沒有(這里可以使用idea查看pom文件的以來關(guān)系來確認(rèn))
  • 后來查一篇博客,發(fā)現(xiàn)了一點(diǎn)問題。博客地址:http://976861.blog.163.com/blog/static/10295810020129172026291/
    還有一篇博客,也不錯(cuò),記錄一下:http://cuiweiqing1988.iteye.com/blog/1907955
    再附上一份關(guān)于java序列化版本號(hào)的說明:https://www.cnblogs.com/guanghuiqq/archive/2012/07/18/2597036.html
  • 后來懷疑可能是spring-core包版本的問題,索性寫了一個(gè)spring-boot項(xiàng)目,測(cè)試了spring-core:4.3.8和4.3.13以及5.0.6三個(gè)版本的,通過測(cè)試,4.3.8的獲取數(shù)據(jù)進(jìn)行反序列化的時(shí)候,會(huì)拋異常。
  • so,問題大概知道了,就解決吧。因?yàn)橹霸囘^把spring-core以來同意上升到5.0.6,但是其他依賴(Hibernate)會(huì)報(bào)錯(cuò)。所以,就將版本升到了4.3.13,通過測(cè)試,ok。
  • 總結(jié)一下
  • 其實(shí)很簡(jiǎn)單,就是由于雙方spring的依賴版本差異引起的,可以盡可能縮小差異(在本身項(xiàng)目允許的情況下)或者干脆兩者使用統(tǒng)一版本;

    好了,我就是自己記錄一下,這個(gè)坑了我兩天的問題。。。希望能對(duì)大家有所幫助!

    總結(jié)

    以上是生活随笔為你收集整理的Spring-data-redis 反序列化异常的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。