欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring中的事務(wù)隔離級別的介紹

 更新時(shí)間:2019年01月05日 15:54:15   作者:李燦輝  
今天小編就為大家分享一篇關(guān)于Spring中的事務(wù)隔離級別的介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

spring事務(wù):

什么是事務(wù):

事務(wù)邏輯上的一組操作,組成這組操作的各個邏輯單元,要么一起成功,要么一起失敗.

事務(wù)特性(4種):

  • 原子性 (atomicity):強(qiáng)調(diào)事務(wù)的不可分割.
  • 一致性 (consistency):事務(wù)的執(zhí)行的前后數(shù)據(jù)的完整性保持一致.
  • 隔離性 (isolation):一個事務(wù)執(zhí)行的過程中,不應(yīng)該受到其他事務(wù)的干擾
  • 持久性(durability) :事務(wù)一旦結(jié)束,數(shù)據(jù)就持久到數(shù)據(jù)庫

解決讀問題: 設(shè)置事務(wù)隔離級別(5種)

  • DEFAULT 這是一個PlatfromTransactionManager默認(rèn)的隔離級別,使用數(shù)據(jù)庫默認(rèn)的事務(wù)隔離級別.
  • 未提交讀(read uncommited) :臟讀,不可重復(fù)讀,虛讀都有可能發(fā)生
  • 已提交讀 (read commited):避免臟讀。但是不可重復(fù)讀和虛讀有可能發(fā)生
  • 可重復(fù)讀 (repeatable read) :避免臟讀和不可重復(fù)讀.但是虛讀有可能發(fā)生.
  • 串行化的 (serializable) :避免以上所有讀問題.

Mysql 默認(rèn):可重復(fù)讀

Oracle 默認(rèn):讀已提交

事務(wù)隔離級別定義一個事務(wù)可能受其他事務(wù)并發(fā)活動的影響程度。另一個考慮事務(wù)隔離級別的角度,是把它想象為事務(wù)對于它處理的數(shù)據(jù)的自私程度。

事務(wù)的隔離要解決的問題有3個:

  • 1,臟讀,即一個事務(wù)讀到另一個事務(wù)還沒有提交的數(shù)據(jù)。如果另一個事務(wù)失敗了,回滾了,那么第一個事務(wù)讀到的數(shù)據(jù)就是無效的數(shù)據(jù)。這就是臟讀。
  • 2,不可重復(fù)讀,不可重復(fù)讀發(fā)生在一個事務(wù)里兩次查詢同一個數(shù)據(jù),發(fā)現(xiàn)查詢結(jié)果不一樣。這是因?yàn)樵谠撌聞?wù)的兩次查詢之間,有另一個事務(wù)更新了該數(shù)據(jù)。
  • 3,幻讀,幻讀和不可重復(fù)讀比較類似。當(dāng)一個事務(wù)t1,第一次查詢了一些行,第二次又查詢了一些行,發(fā)現(xiàn)兩次查詢出來的行個數(shù)不一樣,或者多了一些行,或者少了一些行,好像出現(xiàn)了幻覺一樣。這是因?yàn)樵趦纱尾樵冎g,有另一事務(wù)更新了符合第一個事務(wù)查詢條件的行。

對比不可重復(fù)讀和幻讀,就可以很好的理解它們的區(qū)別。不可重復(fù)讀針對的是一行或者說一個數(shù)據(jù),而幻讀針對的是多行數(shù)據(jù)。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • Java C++ leetcode執(zhí)行一次字符串交換能否使兩個字符串相等

    Java C++ leetcode執(zhí)行一次字符串交換能否使兩個字符串相等

    這篇文章主要為大家介紹了Java C++ leetcode1790執(zhí)行一次字符串交換能否使兩個字符串相等,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 詳解java實(shí)現(xiàn)簡單掃碼登錄功能(模仿微信網(wǎng)頁版掃碼)

    詳解java實(shí)現(xiàn)簡單掃碼登錄功能(模仿微信網(wǎng)頁版掃碼)

    這篇文章主要介紹了java實(shí)現(xiàn)簡單掃碼登錄功能(模仿微信網(wǎng)頁版掃碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 簡單了解Spring中常用工具類

    簡單了解Spring中常用工具類

    這篇文章主要介紹了簡單了解Spring中常用工具類,非常全面,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • 詳解SpringMVC學(xué)習(xí)系列之國際化

    詳解SpringMVC學(xué)習(xí)系列之國際化

    這篇文章主要介紹了詳解SpringMVC學(xué)習(xí)系列之國際化,詳細(xì)的介紹了關(guān)于瀏覽器,Session,Cookie,URL請求的國際化的實(shí)現(xiàn),有興趣的可以了解一下
    2017-07-07
  • Spring boot實(shí)現(xiàn)文件上傳實(shí)例(多文件上傳)

    Spring boot實(shí)現(xiàn)文件上傳實(shí)例(多文件上傳)

    本篇文章主要介紹了Spring boot實(shí)現(xiàn)文件上傳實(shí)例(多文件上傳),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Springboot整合camunda+mysql的集成流程分析

    Springboot整合camunda+mysql的集成流程分析

    本文介紹基于mysql數(shù)據(jù)庫,如何實(shí)現(xiàn)camunda與springboot的集成,如何實(shí)現(xiàn)基于springboot運(yùn)行camunda開源流程引擎,本文分步驟圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06
  • IDEA使用SequenceDiagram插件繪制時(shí)序圖的方法

    IDEA使用SequenceDiagram插件繪制時(shí)序圖的方法

    這篇文章主要介紹了IDEA使用SequenceDiagram插件繪制時(shí)序圖的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • break和continue的作用和區(qū)別解析(案例分析)

    break和continue的作用和區(qū)別解析(案例分析)

    break和continue都是用來控制循環(huán)結(jié)構(gòu)的,主要作用是停止循環(huán),這篇文章主要介紹了break和continue的作用和區(qū)別,需要的朋友可以參考下
    2023-03-03
  • JCrontab簡單入門實(shí)例詳解

    JCrontab簡單入門實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了JCrontab簡單入門實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 詳解Spring Boot中使用Flyway來管理數(shù)據(jù)庫版本

    詳解Spring Boot中使用Flyway來管理數(shù)據(jù)庫版本

    這篇文章主要介紹了詳解Spring Boot中使用Flyway來管理數(shù)據(jù)庫版本,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01

最新評論