樂觀鎖 vs 悲觀鎖

閱讀時間約 1 分鐘
在介紹什麼是樂觀鎖、什麼是悲觀鎖之前,我們先來了解一下,這兩個鎖是應用在什麼地方?

資料庫

資料庫是用來處理資料的讀取與寫入,而資料庫的交易行為 (transaction) 必須符合 ACID,其中的 I 為 Isolation,指的是資料庫在對同個資料同時進行多筆交易時,必須避免產生資料的不一致。
白話的意思是,當大家在搶購五月天演唱會的門票時,其中有一萬個人同一時間點選了 A 區第 B 排的序號 5 的座位,資料庫不能讓這一萬個人全部都買到票,只能有一位幸運兒得到,也就是只能有一位使用者能成功將其資訊寫入資料庫。
為了達成這件萬中選一的情況,就必須使用到「鎖」的概念。

悲觀鎖

從字面上來想,可以很清楚的知道,這個鎖是用悲觀來看待資料的寫入。基於對事件的不信任,所採取的行為。
悲觀鎖的概念是,眾多行為裡,只有一個行為能被接受,其餘的行為必須等待前面的行為結束。
像是,學校老師在所有學生同時發問時,很難完整接收到大家的問題,為了避免這樣的狀況發生,我想老師一定會要求學生「一個一個」發問,小明問完,小美才能接著問,小美問完,小華才能繼續問,直到所有問題都問完,或是老師要下班離開了。這樣的操作就是**悲觀鎖**的概念。
在資料庫的 Isolation,就是悲觀鎖的概念,為的就是避免在眾多使用者同時對同一筆資料進行任何改動的操作(資料爭用激烈)時,導致資料或數據的不一致。

樂觀鎖

樂觀鎖就是跟悲觀鎖相反的概念,它不會對任何的 transaction 進行限制,所以通常會是在「資料爭用」狀況小、使用者們的操作對彼此的影響小的時候採用樂觀鎖。
    1會員
    13Content count
    留言0
    查看全部
    發表第一個留言支持創作者!
    Mike的沙龍 的其他內容
    在 Rails 裡常常可以看到 redirect_to 跟 render,但這兩者到底有什麼差異呢? Redirect_to redirect_to 後面接網址路徑,是用來轉到該網址路徑去,也就是換到一個新的頁面。 如果在 new 的頁面上 (同一條溪流,這一秒的水流跟下一秒的水流是不一樣的水流)
    Find 輸入一個 id 參數後,尋找相對應的一筆資料。 在 SQL 的部分: 如果 find 找不到相對應的資料時,會跳出兇殘的錯誤訊息: Find_by 輸入一個或多個參數後,找到相對應的一筆資料。 在 SQL 的部分: Where 輸入一個或多個參數後,找到相對應的多筆資料。
    避免使用者在資料寫入時,強行新增非官網的資料時,所進行的預設阻擋功能。 所以必須新增一個「白名單」,才能正常寫入: 寫了這段後,除了 permit 的資料,其他額外的資料都會被過濾掉,不會進來。
    MVC是一套網頁開發的架構流程,代表著從前端到後端的各自分工。 M: Model 多個 model 建立的 tables 們能夠透過 foreign_key 或是 belongs_to / has_one / has_many,將彼此的資料產生關聯。 V: View C: Controller
    直接來看範例吧
      一切的重點就是在利用文字排版與語言解構使程式碼more「readable」   範例如下列網址,有興趣深入了解可進去觀看
    在 Rails 裡常常可以看到 redirect_to 跟 render,但這兩者到底有什麼差異呢? Redirect_to redirect_to 後面接網址路徑,是用來轉到該網址路徑去,也就是換到一個新的頁面。 如果在 new 的頁面上 (同一條溪流,這一秒的水流跟下一秒的水流是不一樣的水流)
    Find 輸入一個 id 參數後,尋找相對應的一筆資料。 在 SQL 的部分: 如果 find 找不到相對應的資料時,會跳出兇殘的錯誤訊息: Find_by 輸入一個或多個參數後,找到相對應的一筆資料。 在 SQL 的部分: Where 輸入一個或多個參數後,找到相對應的多筆資料。
    避免使用者在資料寫入時,強行新增非官網的資料時,所進行的預設阻擋功能。 所以必須新增一個「白名單」,才能正常寫入: 寫了這段後,除了 permit 的資料,其他額外的資料都會被過濾掉,不會進來。
    MVC是一套網頁開發的架構流程,代表著從前端到後端的各自分工。 M: Model 多個 model 建立的 tables 們能夠透過 foreign_key 或是 belongs_to / has_one / has_many,將彼此的資料產生關聯。 V: View C: Controller
    直接來看範例吧
      一切的重點就是在利用文字排版與語言解構使程式碼more「readable」   範例如下列網址,有興趣深入了解可進去觀看
    你可能也想看
    Thumbnail
    重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
    Thumbnail
    近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
    Thumbnail
    財報本身好壞固然重要,股價相對位置也很重要,如果累積漲幅較大,股價處於高檔,就不能因為財報優異而對於股價抱持樂觀,在相對高檔區只有遠高於預期的企業獲利與展望才足以再刺激股價,即使只是符合預期,都可能使股價下跌
    Thumbnail
    冷研碳索館是全臺首座氣體觀光工廠,提供豐富的親子互動體驗。園區設施豐富,每個區域都細心設計。遊客可體驗乾冰瀑布、製作乾冰球、以及瞭解不同氣體的知識科普。建議提前在官網查詢活動時程表。園區內有大型的七彩熔岩燈、DIY手作區等活動,提供親子共學的時光。提供建議增加身體不適的警語宣傳或提供護目鏡給小朋友。
    基本上,星星兒的發揮所長,平台是必要的。 因為,對星星兒來說,大部分的星星兒的潛能,無法得到助力的開發。 只能說,要看照顧者的洞察力。 至於我,目前打算在〝樂曲調性〞和〝唱功〞做平台的主軸。 可能,從唱功開始。 在準備下一次的〝歌曲教唱〞活動,我取的主題,是〝不同語言的歌曲翻唱〞 事實上
    Thumbnail
    ​市面上有許多品牌蛋糕店。每個蛋糕店都有自己特色存在,招牌烘培食品每一家都不同。這篇介紹芋頭為食材內餡的香帥蛋糕(英文簡稱:S . CAKE)。香帥蛋糕將蛋糕捲起來的過程,完全手殘,沒有辦法像販賣的成品,形成一個漂亮的漩渦狀,蛋糕體是很不圓滿的圓形,芋泥還不小心爆漿。 走入這家蛋糕觀光工廠一起感受香
    以主兒女來說,就有活用到樂器。 最常見的,是鋼琴。 而司琴,是服事主的稱呼。 基本上,就算久一段時間沒有練琴,最近也只是以敬拜的心,進行服事主。 我想,這已經不是有沒有信主的問題了。 因為,鼔勵星星兒發揮所長的背後,是建立星星兒的溝通媒介方式。 很多沒先天能力星星兒的照顧者大多以鋼琴做協
    Thumbnail
    賽事進行到G3可說是第一輪賽事已經進行一半,對聯盟而言,尤其是剛成立的聯盟,能不能打出比賽觀賞性、話題性帶動整體的發展則是一件非常重要的事情,所以G3宏國與泰隊的對戰組合能打出觀眾就愛看的比賽嗎?我們廢話不多說~讓紙箱跟大家一起回顧當時賽場精華時刻,以及兩隊的BOX紀錄吧!
    Thumbnail
    女武神泰莎湯普森 誠實擁抱自我認同 黑與白:膚色的認同危機 上與下:階級的優越意識 女性情慾的若有似無
    Thumbnail
    此圖擷取自嗨投資網站 今日收盤17066.96,上漲21.10、+0.12%,成交量3,734億 《三大法人》 外資:買進835.52億、賣出994.63億、 現貨差額-159.12億 投信:買進27.20億、賣出19.43億、 現貨差額+7.78億 自營:買進88.80億、賣出98.78億、 現貨
    歡迎來到這一世   神沒談心世是個分享靈性觀思考模式的聊天頻道 這集來聊聊我很感動的東京奧運 以及靈光乍現 分享下我所認知的業障償還機制 很奇妙齁,兩個看似毫無相關的主題 倒是可以給你顛覆思考喔! 首先阿,太讚了 疫情開始以來人間過了苦悶的兩年 好不容易東京奧運總算成功舉辦了 東京奧運或許不是歷
    Thumbnail
    重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
    Thumbnail
    近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
    Thumbnail
    財報本身好壞固然重要,股價相對位置也很重要,如果累積漲幅較大,股價處於高檔,就不能因為財報優異而對於股價抱持樂觀,在相對高檔區只有遠高於預期的企業獲利與展望才足以再刺激股價,即使只是符合預期,都可能使股價下跌
    Thumbnail
    冷研碳索館是全臺首座氣體觀光工廠,提供豐富的親子互動體驗。園區設施豐富,每個區域都細心設計。遊客可體驗乾冰瀑布、製作乾冰球、以及瞭解不同氣體的知識科普。建議提前在官網查詢活動時程表。園區內有大型的七彩熔岩燈、DIY手作區等活動,提供親子共學的時光。提供建議增加身體不適的警語宣傳或提供護目鏡給小朋友。
    基本上,星星兒的發揮所長,平台是必要的。 因為,對星星兒來說,大部分的星星兒的潛能,無法得到助力的開發。 只能說,要看照顧者的洞察力。 至於我,目前打算在〝樂曲調性〞和〝唱功〞做平台的主軸。 可能,從唱功開始。 在準備下一次的〝歌曲教唱〞活動,我取的主題,是〝不同語言的歌曲翻唱〞 事實上
    Thumbnail
    ​市面上有許多品牌蛋糕店。每個蛋糕店都有自己特色存在,招牌烘培食品每一家都不同。這篇介紹芋頭為食材內餡的香帥蛋糕(英文簡稱:S . CAKE)。香帥蛋糕將蛋糕捲起來的過程,完全手殘,沒有辦法像販賣的成品,形成一個漂亮的漩渦狀,蛋糕體是很不圓滿的圓形,芋泥還不小心爆漿。 走入這家蛋糕觀光工廠一起感受香
    以主兒女來說,就有活用到樂器。 最常見的,是鋼琴。 而司琴,是服事主的稱呼。 基本上,就算久一段時間沒有練琴,最近也只是以敬拜的心,進行服事主。 我想,這已經不是有沒有信主的問題了。 因為,鼔勵星星兒發揮所長的背後,是建立星星兒的溝通媒介方式。 很多沒先天能力星星兒的照顧者大多以鋼琴做協
    Thumbnail
    賽事進行到G3可說是第一輪賽事已經進行一半,對聯盟而言,尤其是剛成立的聯盟,能不能打出比賽觀賞性、話題性帶動整體的發展則是一件非常重要的事情,所以G3宏國與泰隊的對戰組合能打出觀眾就愛看的比賽嗎?我們廢話不多說~讓紙箱跟大家一起回顧當時賽場精華時刻,以及兩隊的BOX紀錄吧!
    Thumbnail
    女武神泰莎湯普森 誠實擁抱自我認同 黑與白:膚色的認同危機 上與下:階級的優越意識 女性情慾的若有似無
    Thumbnail
    此圖擷取自嗨投資網站 今日收盤17066.96,上漲21.10、+0.12%,成交量3,734億 《三大法人》 外資:買進835.52億、賣出994.63億、 現貨差額-159.12億 投信:買進27.20億、賣出19.43億、 現貨差額+7.78億 自營:買進88.80億、賣出98.78億、 現貨
    歡迎來到這一世   神沒談心世是個分享靈性觀思考模式的聊天頻道 這集來聊聊我很感動的東京奧運 以及靈光乍現 分享下我所認知的業障償還機制 很奇妙齁,兩個看似毫無相關的主題 倒是可以給你顛覆思考喔! 首先阿,太讚了 疫情開始以來人間過了苦悶的兩年 好不容易東京奧運總算成功舉辦了 東京奧運或許不是歷