悲觀鎖和樂觀鎖
就像它的名字樣,它假設(shè)最壞的情況,即每次讀取數(shù)據(jù)時(shí)都可能被修改。因此,在讀取數(shù)據(jù)之前,它會(huì)鎖定該數(shù)據(jù)以防止其他用戶修改。這通常意味著更高的發(fā)性能較低。
相反,它假設(shè)最好的情況,即數(shù)據(jù)很少被更改。在讀取數(shù)據(jù)時(shí)不進(jìn)行任何鎖定,但在更新數(shù)據(jù)時(shí)檢查自上次讀取以來是否已更改。有,則操作失敗,否則操作成功。這種策略提高發(fā)性能,但可能會(huì)導(dǎo)致更多的重試。
對(duì)于您的公司來說,你們的業(yè)務(wù)主要涉及數(shù)據(jù)更新頻繁的操作,悲觀鎖可能是個(gè)更好的選擇。然而,大多數(shù)操作是只讀或少有沖突的數(shù)據(jù)更新,樂觀鎖可能是更優(yōu)的選擇。
在這個(gè)領(lǐng)域中,悲觀鎖可能更有優(yōu)勢(shì),因?yàn)槟銈兇_保對(duì)每個(gè)IP的使用都有精確的控制,避免發(fā)生沖突。
由于這個(gè)領(lǐng)域的數(shù)據(jù)更新非常頻繁,且高度發(fā)處理,所以樂觀鎖可能更為適用。
你們保護(hù)研發(fā)數(shù)據(jù)不被未授權(quán)的訪問或者修改,悲觀鎖可能是個(gè)好選擇。
這是個(gè)高發(fā)、多變的環(huán)境,樂觀鎖能更好地支持這種環(huán)境,因?yàn)樗试S更多的人查看和修改信息,只要沒有產(chǎn)生沖突即可。