記一次由於快取導致的bug

2022-01-11 07:27:12 字數 477 閱讀 2004

bug描述

有一張資料庫表儲存的是 值日員工資訊,有時候可能一次性錄入1個月的資料、有時候也可能隔了很多天沒有錄入資料,也就是說這個錄資料不是很規律。

bug現象:測試人員發現,**上三亞地區能正常顯示當天值日員工資訊,但是珠海地區卻不能正確顯示當天值日員工資訊。而資料庫上實際是有珠海地區值日員工資訊的。更詭異的是在本地啟動**的時候珠海和三亞地區當天值日員工資訊都能正常顯示。

原因是因為,**裡面用了快取,這個快取持續時間6小時。三亞地區人員資訊是早上9點錄入的,珠海是下午3點錄入的。當有人檢視值日資訊的時候,時間恰好在9點到3點之間,這樣三亞的快取裡面存了資料,而珠海的快取裡面就存了0條資料。完美的解決方法就是不用快取,每次都去查資料庫,這樣做的缺點是效能有影響。恰當的做法就是,判斷快取是否存在並且快取條數是不是為0,如果快取不存在肯定要去讀資料庫,並將讀到的資料存入快取中。如果讀到快取條數為0,也要去讀一下資料庫,將讀的結果存入快取(當然這個有可能出現不准,但是符合我們的環境)。

記一次目標驅動導致的bug

背景 最近做的乙個專案中,用到了目標驅動架構模式,但由於目標下發的不準確,導致出現了線上bug。目標驅動 目標驅動是通過不同的輪詢目標的狀態,決策出需要達到的目標,使得狀態能到達到最終的目標 簡單點的意思就是不斷迴圈著四種狀態 輪詢 決策 傳送目標 達到目標。目標驅動有什麼好處的?系統a可以專注資料...

記一次前端bug排查

前言 時隔三年,終於記得要找回賬號密碼開始寫筆記了,這周剛加入了乙個後台管理系統專案,測試反饋系統重新整理時經常會直接登出,嚴詞要求解決這個 重大 bug,so尷尬。更嚴重的是發現系統在ie上直接登不進去,嬸可忍叔不可忍,於是我開啟了苦逼的尋bug之路。既然是登出了,當然會有登出請求,chrome重...

記一次sum SQL 統計BUG

create table asgard share records id bigint 20 not null comment 分享記錄id status tinyint 3 unsigned not null default 1 comment 資料狀態 1 正常 0 刪除 create time...