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

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

DB讀寫分離情況下,如何解決緩存和數(shù)據(jù)庫不一致性問題?有兩種選擇。讓我們首先了解緩存和數(shù)據(jù)庫數(shù)據(jù)不一致時會發(fā)生什么。查詢數(shù)據(jù)時,優(yōu)先從緩存中獲取數(shù)據(jù)。如果緩存不存在,則查詢數(shù)據(jù)庫并寫入緩存。如果數(shù)據(jù)庫

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

有兩種選擇。

讓我們首先了解緩存和數(shù)據(jù)庫數(shù)據(jù)不一致時會發(fā)生什么。查詢數(shù)據(jù)時,優(yōu)先從緩存中獲取數(shù)據(jù)。如果緩存不存在,則查詢數(shù)據(jù)庫并寫入緩存。如果數(shù)據(jù)庫數(shù)據(jù)發(fā)生更改,請清除緩存。在正常情況下,沒有問題。但是,在服務(wù)的并發(fā)性非常高的情況下,如果刪除緩存,則在數(shù)據(jù)庫完成數(shù)據(jù)更新之前會有查詢請求。此時,舊數(shù)據(jù)將被讀寫到緩存中。在這種情況下,緩存和數(shù)據(jù)庫不一致。

第一種解決方案:延遲刪除。更改數(shù)據(jù)庫數(shù)據(jù)時,清除緩存的操作會延遲一段時間。這段時間可能很短。它只需要確保數(shù)據(jù)庫寫入操作已完成。但在實際環(huán)境中,我們不知道數(shù)據(jù)庫何時會寫入數(shù)據(jù),所以很難控制這段時間。如果太短,就不行了。如果時間太長,會影響體驗。但總的來說,這種方法可以解決問題。

另一種解決方案是使用數(shù)據(jù)庫的binlog來訂閱binlog。更新數(shù)據(jù)時,該消息用于通知刪除緩存。該方案能保證數(shù)據(jù)庫更新操作的完成和緩存的及時更新。

用了緩存了,數(shù)據(jù)庫就沒問題了嗎?

當(dāng)然不是。

如果數(shù)據(jù)庫有問題,我們應(yīng)該根據(jù)系統(tǒng)對數(shù)據(jù)庫的讀寫壓力來決定。

通常當(dāng)用戶達到一定水平后,我們會根據(jù)系統(tǒng)的業(yè)務(wù)特點進行相應(yīng)的技術(shù)架構(gòu)調(diào)整和服務(wù)器擴展。讓我簡單介紹一下常見的中小互聯(lián)網(wǎng)公司的數(shù)據(jù)擴展過程。其過程大致如下:

單實例數(shù)據(jù)庫--->讀寫分離--->緩存服務(wù)--->多實例數(shù)據(jù)庫--->多實例緩存--->冷熱分離--->數(shù)據(jù)平臺沉淀--->分布式搜索引擎

當(dāng)然,這個過程不是很嚴(yán)謹(jǐn),但也很復(fù)雜非常粗糙。不同的業(yè)務(wù)系統(tǒng)需要不同的拆分和數(shù)據(jù)擴展方法。有些人甚至喜歡使用服務(wù)器本身的內(nèi)存來緩存一些數(shù)據(jù)。這里只是一個簡單的解釋,當(dāng)系統(tǒng)給數(shù)據(jù)庫帶來壓力時,我們應(yīng)該繼續(xù)做技術(shù)跟進。當(dāng)然,隨著業(yè)務(wù)系統(tǒng)的發(fā)展,技術(shù)架構(gòu)往往是解耦的。技術(shù)架構(gòu)和業(yè)務(wù)架構(gòu)相輔相成。

這里是一個簡單的帖子,提供了一個常見的基本互聯(lián)網(wǎng)架構(gòu)圖:

如果您對系統(tǒng)架構(gòu)設(shè)計感興趣,請注意或查看我以前的答案。有信息共享。謝謝您