事務和鎖機制是什麼關係

2021-07-08 19:27:29 字數 648 閱讀 8772

事務與鎖是不同的。事務具有acid(

原子性、一致性、隔離性和永續性),鎖是用於解決隔離性的一種機制。事務的隔離級別通過鎖的機制來實現。另外鎖有不同的粒度,同時事務也是有不同的隔離級別的(一般有四種:讀未提交read uncommitted,

讀已提交read committed,

可重複讀repeatable read,

可序列化serializable)。

在具體的程式設計中,開啟事務其實是要資料庫支援才行的,如果資料庫本身不支援事務,那麼仍然無法確保你在程式中使用的事務是有效的。

鎖可以分為樂觀鎖和悲觀鎖:

悲觀鎖:認為在修改資料庫資料的這段時間裡存在著也想修改此資料的事務;

樂觀鎖:認為在短暫的時間裡不會有事務來修改此資料庫的資料;

我們一般意義上講的鎖其實是指悲觀鎖,在資料處理過程中,將資料置於鎖定狀態(由資料庫實現)。

回到你的問題,如果開啟了事務,在事務沒提交之前,別人是無法修改該資料的;如果rollback,你在本次事務中的修改將撤消(不是別人修改的會沒有,因為別人此時無法修改)。當然,前提是你使用的資料庫支援事務。還有乙個要注意的是,部分資料庫支援自定義sql鎖覆蓋事務隔離級別預設的鎖機制,如果使用了自定義的鎖,那就另當別論。

重點:一般事務使用的是悲觀鎖(具有排他性)。

GNU 是什麼,和 Linux 是什麼關係?

unix 系統被發明之後,大家用的很爽。但是後來開始收費和商業閉源了。乙個叫 rms 的大叔覺得很不爽,於是發起 gnu 計畫,模仿 unix 的介面和使用方式,從頭做乙個開源的版本。然後他自己做了編輯器 emacs 和編譯器 gcc。gnu 是乙個計畫或者叫運動。在這個旗幟下成立了 fsf,起草了...

nginx uwsgi wsgi 是什麼關係

1 首先nginx 是對外的服務介面,外部瀏覽器通過url訪問nginx,2 nginx 接收到瀏覽器傳送過來的http請求,將包進行解析,分析url,如果是靜態檔案請求就直接訪問使用者給nginx配置的靜態檔案目錄,直接返回使用者請求的靜態檔案,如果不是靜態檔案,而是乙個動態的請求,那麼nginx...

諾基亞和微軟是什麼關係?

在諾基亞的故鄉芬蘭剛剛結束一場扔手機比賽 一名芬蘭男子將自己的一部舊諾基亞手機扔出了101.46公尺,從而榮登冠軍寶座。雖然說這是乙個趣味十足的比賽,但聯想到諾基亞近況,卻很難讓人輕鬆起來。昔日手機之王,如今淪落到被扔得最遠的地步?讓諾基亞心碎的兩件事情 最近,發生了兩件讓諾基亞心碎的事情 首先是6...