国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

并發(fā)編程中的一致性 在大數(shù)據(jù)高并發(fā)環(huán)境下應(yīng)該怎么保證庫存或者下單同步?

在大數(shù)據(jù)高并發(fā)環(huán)境下應(yīng)該怎么保證庫存或者下單同步?在互聯(lián)網(wǎng)開發(fā)中,如果在大數(shù)據(jù)、高并發(fā)的環(huán)境下,很多人下單,如何保證庫存的抵扣永遠(yuǎn)正確?將庫存加載到緩存中,如rDB讀寫分離情況下,如何解決緩存和數(shù)據(jù)庫

在大數(shù)據(jù)高并發(fā)環(huán)境下應(yīng)該怎么保證庫存或者下單同步?

在互聯(lián)網(wǎng)開發(fā)中,如果在大數(shù)據(jù)、高并發(fā)的環(huán)境下,很多人下單,如何保證庫存的抵扣永遠(yuǎn)正確?

將庫存加載到緩存中,如r

DB讀寫分離情況下,如何解決緩存和數(shù)據(jù)庫不一致性問題?

說明:連續(xù)寫數(shù)據(jù)庫和緩存,但是在操作過程中,存在并發(fā),數(shù)據(jù)不一致。

通常,高速緩存和數(shù)據(jù)庫按以下順序更新:

l先更新數(shù)據(jù)庫,再更新緩存。

l先刪除緩存,再更新數(shù)據(jù)庫。

l首先更新數(shù)據(jù)庫,然后刪除緩存。

看看這三種的優(yōu)缺點(diǎn):

請(qǐng)?jiān)诟戮彺嬷案聰?shù)據(jù)庫。

這樣做的問題是,當(dāng)同時(shí)有兩個(gè)更新數(shù)據(jù)的請(qǐng)求時(shí),如果您不 不要使用分布式鎖,你不會(huì) 不能控制最后緩存的值是什么。就是并發(fā)寫的時(shí)候有問題。

請(qǐng)?jiān)诟聰?shù)據(jù)庫之前刪除緩存。

這樣做的問題是,如果客戶端在刪除緩存后讀取數(shù)據(jù),它可能會(huì)讀取舊數(shù)據(jù)并將其設(shè)置在緩存中,導(dǎo)致緩存中的數(shù)據(jù)總是舊數(shù)據(jù)。

有兩種解決方案:

我使用 "雙重刪除 ",即刪除或刪除。刪除的最后一步是異步操作,這是為了防止舊值在客戶端讀取時(shí)被設(shè)置。

我用隊(duì)列。當(dāng)這個(gè)鍵不存在時(shí),將它放入隊(duì)列中并順序執(zhí)行。你可以 直到數(shù)據(jù)庫更新后才能讀取數(shù)據(jù)。

總的來說比較麻煩。

請(qǐng)?jiān)趧h除緩存之前更新數(shù)據(jù)庫。

這實(shí)際上是一個(gè)常見的方案,但許多人不 我不知道。我在這里介紹一下。It 我們稱之為緩存?zhèn)溆媚J?,是外國人發(fā)明的。如果首先更新數(shù)據(jù)庫,然后刪除緩存,那么將顯示更新次數(shù)。根據(jù)數(shù)據(jù)庫,以前有瞬時(shí)數(shù)據(jù)不是很及時(shí)。

同時(shí),如果更新前緩存剛好失效,讀客戶端可能會(huì)讀取舊值,然后在寫客戶端刪除后重新設(shè)置舊值,這是非常巧合的。

有兩個(gè)前提條件:寫之前緩存無效,同時(shí)寫客戶端刪除操作之后舊數(shù)據(jù)放置——也就是讀比寫慢。一些寫操作也會(huì)鎖定表。

所以,這很難出現(xiàn),但如果出現(xiàn)了呢?使用雙重刪除?。。∮涗浉缕陂g客戶端是否讀取數(shù)據(jù)庫,如果是,則在更新數(shù)據(jù)庫后執(zhí)行延遲刪除。