spring-data-redis findById查詢不到數據分析

在使用spring-data-redis reposiroty保存對象後,可以正常存入庫,可是在執行findById這個方法時,老是獲取不到數據。保存數據以下:redis

對着公司正常的系統,我發現少了一個hash值,如圖:spring

針對這個狀況,我從新搭建一個項目,發現設置沒有問題,分析下,問題多是出如今對象上,通過仔細排查終於發現了問題:數據結構

在TokenCache類裏面定義了兩個屬性timeout和expire: 一、一個是long類型,一個是LocalDateTime類型,這樣設置只會在redis裏面生成單個數據,不會生成查詢的key,這樣你在findById時,就查不到數據。 二、兩個都設置成long類型,那麼生成的結構就是跟第二張圖同樣的結構,這樣在執行findById時,就會查詢出數據。 三、若是都不傳,或者不設置,那麼生成的結構就是隻有一個key,findById仍是能夠查詢出值。

如第一張圖的數據結構,這個結構會在設置的timeout時間後自動進行釋放掉。cdn

好了,以上就是遇到findById查詢不到數據問題的解決方案。對象

相關文章
相關標籤/搜索