溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

理解Spring事務(wù)管理

發(fā)布時(shí)間:2020-03-04 10:07:34 來源:網(wǎng)絡(luò) 閱讀:126 作者:sxt程序猿 欄目:開發(fā)技術(shù)

理解事務(wù)之前,先講一個(gè)你日常生活中最常干的事:取錢。

比如你去ATM機(jī)取1000塊錢,大體有兩個(gè)步驟:首先輸入密碼金額,銀行卡扣掉1000元錢;然后ATM出1000元錢。

這兩個(gè)步驟必須是要么都執(zhí)行要么都不執(zhí)行。

如果銀行卡扣除了1000塊但是ATM出錢失敗的話,你將會損失1000元;

如果銀行卡扣錢失敗但是ATM卻出了1000塊,那么銀行將損失1000元。

所以,如果一個(gè)步驟成功另一個(gè)步驟失敗對雙方都不是好事,如果不管哪一個(gè)步驟失敗了以后,整個(gè)取錢過程都能回滾,也就是完全取消所有操作的話,這對雙方都是極好的。

事務(wù)就是用來解決類似問題的。事務(wù)是一系列的動作,它們綜合在一起才是一個(gè)完整的工作單元,這些動作必須全部完成,如果有一個(gè)失敗的話,那么事務(wù)就會回滾到最開始的狀態(tài),仿佛什么都沒發(fā)生過一樣。

在企業(yè)級應(yīng)用程序開發(fā)中,事務(wù)管理必不可少的技術(shù),用來確保數(shù)據(jù)的完整性和一致性。

事務(wù)有四個(gè)特性:ACID

原子性(Atomicity):事務(wù)是一個(gè)原子操作,由一系列動作組成。事務(wù)的原子性確保動作要么全部完成,要么完全不起作用。
一致性(Consistency):一旦事務(wù)完成(不管成功還是失?。?,系統(tǒng)必須確保它所建模的業(yè)務(wù)處于一致的狀態(tài),而不會是部分完成部分失敗。在現(xiàn)實(shí)中的數(shù)據(jù)不應(yīng)該被破壞。
隔離性(Isolation):可能有許多事務(wù)會同時(shí)處理相同的數(shù)據(jù),因此每個(gè)事務(wù)都應(yīng)該與其他事務(wù)隔離開來,防止數(shù)據(jù)損壞。
持久性(Durability):一旦事務(wù)完成,無論發(fā)生什么系統(tǒng)錯(cuò)誤,它的結(jié)果都不應(yīng)該受到影響,這樣就能從任何系統(tǒng)崩潰中恢復(fù)過來。通常情況下,事務(wù)的結(jié)果被寫到持久化存儲器中。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI