常見的緩存策略的優(yōu)劣勢對比-創(chuàng)新互聯(lián)

今天小編給大家分享的是常見的緩存策略的優(yōu)劣勢對比,很多人都不太了解,今天小編為了讓大家更加了解緩存策略的優(yōu)劣勢,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供德清網站建設、德清做網站、德清網站設計、德清網站制作等企業(yè)網站建設、網頁設計與制作、德清企業(yè)網站模板建站服務,十年德清做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

眾所周知,想要提高系統(tǒng)的性能,緩存是最直接也是最簡單的方法之一。緩存一方面可以減少數(shù)據(jù)庫負載,另一方面還可以減少相應時間并且節(jié)省成本。今天,小編將向大家介紹幾種比較常見的緩存策略,即Cache-Aside、Read-Though Cache、Write-Through Cache、Write-Around和Write-Back。下面讓我們一起對比分析一下常用緩存策略的優(yōu)劣以及使用場景吧!

常見的緩存策略的優(yōu)劣勢對比

緩存策略一:Cache-Aside

Cache-Aside可以說時最常用的緩存策略。緩存位于一邊,應用程序直接與緩存和數(shù)據(jù)庫對話。應用程序首先檢查緩存;如果在緩存中找到,表示已經命中緩存。數(shù)據(jù)被讀取并返回給應用程序;如果在緩存中沒有找到,則未命中緩存。應用程序必須做一些額外的工作,它需要查詢數(shù)據(jù)庫來讀取數(shù)據(jù),將數(shù)據(jù)返回給客戶端,然后還要將數(shù)據(jù)存儲在緩存中,這樣對相同數(shù)據(jù)的后續(xù)讀取可以命中緩存。該項策略適合讀多的應用場景。使用Cache-aside的系統(tǒng)對緩存失效具有一定的彈性。如果緩存集群宕機,系統(tǒng)仍然可以通過直接訪問數(shù)據(jù)庫進行操作。另外,緩存中的數(shù)據(jù)模型可以與數(shù)據(jù)庫中的數(shù)據(jù)模型不同。

緩存策略二:Read-Though Cache

Read-though策略下的緩存與數(shù)據(jù)庫保持一致。當緩存丟失時,它從數(shù)據(jù)庫加載相應的數(shù)據(jù),填充緩存并將其返回給應用程序。cache-aside和read-through策略都是延遲加載數(shù)據(jù)的,也就是說,只在第一次讀取數(shù)據(jù)時才加載數(shù)據(jù)。對比read-through和cache-aside,它們的大區(qū)別在于,在cache-aside中應用程序負責從數(shù)據(jù)庫中獲取數(shù)據(jù)并填充緩存。在read-through中,此邏輯通常由庫或獨立緩存提供程序支持,而且read-through cache中的數(shù)據(jù)模型不能與數(shù)據(jù)庫中的數(shù)據(jù)模型不同??偟膩碇v,read-through緩存最適合于讀量較大的工作負載。劣勢是,當?shù)谝淮握埱髷?shù)據(jù)時,它總是導致緩存丟失,并導致額外的數(shù)據(jù)加載到緩存的代價。

緩存策略三:Write-Through Cache

在這種緩存策略中,首先將數(shù)據(jù)寫入緩存,然后寫入數(shù)據(jù)庫。緩存與數(shù)據(jù)庫保持一致,寫操作總是通過緩存到達主數(shù)據(jù)庫。就其本身而言,write-through緩存似乎沒有多大作用,實際上,它們引入了額外的寫延遲,因為數(shù)據(jù)先寫到緩存,然后寫到主數(shù)據(jù)庫。但是,當與read-through結合使用時,我們獲得了read-through的所有好處,還獲得了數(shù)據(jù)一致性保證,使我們不必使用緩存失效技術。DynamoDB Accelerator (DAX)是write-through / read-through cache的一個很好的例子。它與DynamoDB和應用程序內聯(lián)。對DynamoDB的讀寫可以通過DAX完成。

常見的緩存策略的優(yōu)劣勢對比

緩存策略四:Write-Around

這種緩存策略下,數(shù)據(jù)直接寫入數(shù)據(jù)庫,只有讀取的數(shù)據(jù)才能進入緩存。Write-around可以與read-through結合使用,并在數(shù)據(jù)只寫一次、讀取次數(shù)較少或從不讀的情況下提供良好的性能。例如,實時日志或聊天室消息。同樣,這個模式也可以與cache-aside組合使用。

緩存策略五:Write-Back

這種緩存策略下,應用程序將數(shù)據(jù)寫入緩存,緩存會立即確認,并在延遲一段時間后將數(shù)據(jù)寫入數(shù)據(jù)庫。有時這種策略也被稱為write-behind。Write-back緩存提高了寫性能,對于寫工作量大的工作負載非常有用。當與read-through相結合的時候,它對于混合工作負載非常有效,最近更新和訪問的數(shù)據(jù)總是在緩存中可用。它對數(shù)據(jù)庫故障具有很大程度上的彈性,可以容忍一些數(shù)據(jù)庫的宕機。如果支持批處理或合并,則可以減少對數(shù)據(jù)庫的總體寫操作,這將減少負載并降低成本。一些開發(fā)人員使用Redis時,同時采用了cache-aside和write-back兩種策略,以便更好地吸收峰值負載期間的峰值。這種緩存策略的優(yōu)劣十分明顯,它主要劣勢是,如果緩存失效,數(shù)據(jù)可能會永久丟失。大多數(shù)關系數(shù)據(jù)庫存儲引擎的內部都默認啟用了回寫緩存。查詢首先寫入內存,最后刷新到磁盤。

以上就是常見的緩存策略的優(yōu)劣勢對比的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道哦!

本文名稱:常見的緩存策略的優(yōu)劣勢對比-創(chuàng)新互聯(lián)
URL標題:http://muchs.cn/article28/deoscp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計公司、企業(yè)網站制作、網站導航、小程序開發(fā)全網營銷推廣、定制開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)