1 回答

TA貢獻(xiàn)77條經(jīng)驗(yàn) 獲得超201個(gè)贊
保證數(shù)據(jù)的一致性,在賬戶(hù)里面加入一個(gè)version 字段 代表版本號(hào),持久化之前看看版本號(hào)和庫(kù)里面是否一樣,每持久化一次就版本號(hào)加1。
例如:加錢(qián)的線程和扣錢(qián)的線程同時(shí)取出來(lái)同一條數(shù)據(jù)金額為1000版本號(hào)為1,第一個(gè)線程加錢(qián)100然后準(zhǔn)備存入數(shù)據(jù),對(duì)比發(fā)現(xiàn)版本號(hào)和庫(kù)里面都是1說(shuō)明期間該條數(shù)據(jù)沒(méi)有被動(dòng)過(guò)可以u(píng)pdate,然后庫(kù)里面這條數(shù)據(jù)變成了1100版本號(hào)為2,扣錢(qián)的線程扣100 準(zhǔn)備把賬戶(hù)改成900 對(duì)比版本號(hào)發(fā)現(xiàn)已經(jīng)不是1而是2了 就會(huì)更新失敗,這樣就會(huì)避免臟數(shù)據(jù)。理解這個(gè)你的問(wèn)題就可以自己解決了,畢竟你的問(wèn)題描述的不清楚,我不確定怎么回答。
謝謝采納~
添加回答
舉報(bào)