乐观锁、悲观锁简单分析,回忆旧(新)知识...
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
今天被人問(wèn)了下樂(lè)觀鎖和悲觀鎖,突然在腦子里好模糊,但又感覺(jué)以前很熟悉的東西竟然忘得這么干凈。所以惡補(bǔ)加記錄一下。
樂(lè)觀鎖和悲觀鎖是對(duì)于數(shù)據(jù)庫(kù)并發(fā)情況下產(chǎn)生的兩個(gè)對(duì)立的概念,所以首先確認(rèn)一點(diǎn) 并發(fā)!并發(fā)!才存在這兩個(gè)概念,他們是對(duì)并發(fā)數(shù)據(jù)庫(kù)操作不同的處理方式。
樂(lè)觀鎖:樂(lè)觀的認(rèn)為不會(huì)發(fā)生并發(fā)沖突,依賴新增字段(version,你可以起一個(gè)其它的名字)來(lái)檢驗(yàn)數(shù)據(jù)的合法,舉例:查詢數(shù)據(jù) 后,對(duì)version+1操作,然后修改記錄 where 條件 version(當(dāng)前)小于傳遞回來(lái)的值才修改,否則放棄修改。
悲觀鎖:悲觀的認(rèn)為所有的操作都會(huì)發(fā)生并發(fā)沖突,因此只能以阿里數(shù)據(jù)庫(kù)自身的鎖才能實(shí)現(xiàn),對(duì)資源的強(qiáng)占有。舉例:在對(duì)任意記錄進(jìn)行修改前,先嘗試為該記錄加上排他鎖(exclusive locking)。
從上述簡(jiǎn)介:能看出,很明顯的區(qū)別,可以根據(jù)自己的頁(yè)面進(jìn)行選擇,但還有一點(diǎn)必須明白,悲觀鎖會(huì)導(dǎo)致性能大幅度下降。
qq技術(shù)交流群:208779755
個(gè)人公眾號(hào):海濤聊技術(shù)
轉(zhuǎn)載于:https://my.oschina.net/haitaohu/blog/1841120
總結(jié)
以上是生活随笔為你收集整理的乐观锁、悲观锁简单分析,回忆旧(新)知识...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 455. Assign Cookies
- 下一篇: python学习day-8 迭代器 生