架構師之路 快取與資料庫

2021-10-04 22:59:44 字數 769 閱讀 9227

一、更新快取vs淘汰快取

1、更新快取:

資料不但寫入資料庫,還會寫入快取。

優點:快取不會增加一次miss,命中率高。

2、淘汰快取:

資料只會寫入資料庫,不會寫入快取,只會把資料淘汰掉。

優點:簡單。

3、如何選擇呢:

更新的代價不是太大則更新快取,否則淘汰快取。

二、先運算元據庫vs先操作快取

1、如何選擇:

如果出現不一致,誰先對業務的影響較小,就誰先執行。

情況一:假設先寫資料庫,在淘汰快取。

第一步寫資料庫操作成功,第二步淘汰快取失敗,則會出現db中是新資料,cache中是舊資料,資料不一致。

情況二:假設先淘汰快取,在寫資料庫。

第一步淘汰快取成功,第二步寫資料庫失敗,則只會引發一次cache miss。

結論:先淘汰快取,在寫資料庫。

三、快取架構優化:

方案一:

加入乙個服務層,向上游提供帥氣的資料訪問介面,向上游遮蔽底層資料儲存的細節,這樣業務線不需要關注資料是來自於cache還是db。

方案二:非同步快取更新

業務線所有的寫操作都走資料庫,所有的讀操作都總快取,由乙個非同步的工具來做資料庫與快取之間資料的同步。

架構師之路

隨著經驗能力的增長,程式的程式設計習慣也在發生著改變,以下是我個人程式設計習慣的改變。1級 思考一段時間,寫一段 2級 用圖形幫助思考,然後寫 3級 將思考過程寫成注釋,然後再寫 4級 用圖形幫助思考,然後一邊寫注釋,一邊寫 5級 思考過程中增加對不確定技術點的測試。6級 將思考過程寫在記事本裡,將...

架構師之路

方 秒殺系統架構優化思路 分布式id生成器 網際網路架構,如何進行容量設計 執行緒數究竟設多少合理 單點系統架構的可用性與效能優化 關於負載均衡的一切 異構伺服器負載均衡及過載保護 lvs為何不能完全替代dns輪詢 究竟啥才是網際網路架構 高併發 究竟啥才是網際網路架構 高可用 100億資料1萬屬性...

架構師之路

架構的定義 我們來看看軟體架構的一般定義 程式和計算系統軟體體系結構是指系統的乙個或多個結構。該結構包括軟體的構建,構建的外部可見屬性以及它們之間的相互關係。該體系結構不是可操作的軟體。具體來說,這是乙個表示式,它使軟體工程師能夠 分析滿足監管要求的設計有效性。在設計更改相對容易的階段,請考慮架構的...