開發中你可能也會遇到的一個坑

今天講一個在實際開發過程中踩過的一個坑,或許你也曾遇到過呢。

 

先說下結論,如果你在使用 int 類型保存數據,請務必要考慮數據的大小是否會超出其最大長度,較大的數據一般建議使用 str 類型存儲。

 

前段時間項目中遇到一個比較詭異的事情,web 端 js 解析接口數據與數據庫中的數據不一致。因爲項目中使用了 kafka 、redis 等,所以我們第一時間想到的可能就是數據同步的問題。

 

於是先去看看 redis 中的數據,發現並沒有找到那條數據,然後就再去 mysql 中查,也是沒查到結果,最後就只能再去 kafka 中查看消費日誌了,結果依然是沒有答案。

 

至此我們基本上把可能存在問題的地方都排查了一遍,甚至把業務代碼也過了一遍,也沒找到問題。問題得以解決的轉折點在於我們發現 app 和 postman 並沒有這個問題,緊接着又被另外一同事說可能是 js 自動截斷了過長的 int 類型數據,這才恍然大悟。

 

果然,我們把該 int 類型字段轉換成 str 後問題便得以解決。

 

這個問題其實算不上什麼疑難雜症,或者說對經驗多一點的同事來說,基本上就是一眼就能看出的問題,慚愧的是自己依然走了不少彎路。

 

平時開發過程中要注重積累和總結,在關鍵時刻就能體現其重要性了。另外在解決這類問題時,很容易會被陷入到問題裏去,需要跳出問題本身,避免思維定勢,比如我們剛開始就定勢的認爲是數據不一致問題,結果把自己還給陷進去跳不出來了,同時也要及時向團隊其他同事請教,別人的一句話很有可能就能解決你半天沒弄明白的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章