日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

高并發緩存策略大揭秘:面試必備的緩存更新模式解析

來源: 責編: 時間:2024-03-18 09:42:30 192觀看
導讀在高并發場景中,緩存能抵擋大量數據庫查詢,減少數據庫壓力,對于緩存更新通常有以下幾種模式可以選擇:? cache aside? read/write through? write behind cachingcache aside模式Cache-aside模式是一種常用的用于管理緩

在高并發場景中,緩存能抵擋大量數據庫查詢,減少數據庫壓力,對于緩存更新通常有以下幾種模式可以選擇:33p28資訊網——每日最新資訊28at.com

? cache aside33p28資訊網——每日最新資訊28at.com

? read/write through33p28資訊網——每日最新資訊28at.com

? write behind caching33p28資訊網——每日最新資訊28at.com

cache aside模式

Cache-aside模式是一種常用的用于管理緩存的模式。它用于確保緩存與底層數據源之間的數據一致性。以下是cache-aside模式的工作原理:33p28資訊網——每日最新資訊28at.com

圖片圖片33p28資訊網——每日最新資訊28at.com

1. 從緩存讀取:當有讀取操作請求時,應用程序首先檢查緩存中是否存在數據。如果在緩存中找到了數據,則將其返回給調用者,避免了訪問底層數據源的需要。33p28資訊網——每日最新資訊28at.com

2. 緩存未命中:如果在緩存中未找到數據,則表示緩存未命中。在這種情況下,應用程序從底層數據源檢索數據,并將檢索到的數據填充到緩存中。33p28資訊網——每日最新資訊28at.com

3. 更新數據:當對數據執行寫入或更新操作時,應用程序首先更新底層數據源中的數據。然后,清除緩存中的數據,以確保下一次讀取從數據源中檢索到更新后的數據。33p28資訊網——每日最新資訊28at.com

通常寫緩存和寫數據庫是兩個獨立的事務,選擇先更新緩存還是先更新數據庫都有可能產生數據不一致的情況。33p28資訊網——每日最新資訊28at.com

先刪緩存,再更新數據庫的問題

假設有兩個請求A、B。33p28資訊網——每日最新資訊28at.com

? 請求A先刪除緩存,此時還未更新數據庫33p28資訊網——每日最新資訊28at.com

? 請求B查詢緩存未命中,然后查詢數據庫,查出舊數據寫入緩存33p28資訊網——每日最新資訊28at.com

? 請求A繼續將數據寫入數據庫33p28資訊網——每日最新資訊28at.com

? 此時緩存與數據庫中的數據出現了不一致的情況33p28資訊網——每日最新資訊28at.com

33p28資訊網——每日最新資訊28at.com

將緩存更新不做刪除的問題

? 請求A先更新了數據庫33p28資訊網——每日最新資訊28at.com

? 請求B更新了數據庫,并更新了緩存33p28資訊網——每日最新資訊28at.com

? 請求A最后更新緩存,此時請求A的數據是臟數據。33p28資訊網——每日最新資訊28at.com

33p28資訊網——每日最新資訊28at.com

先更新DB再失效緩存問題

先更新DB,再失效緩存也會出現問題。33p28資訊網——每日最新資訊28at.com

? 請求A讀取緩存未命中,查詢數據庫成功查到數據33p28資訊網——每日最新資訊28at.com

? 請求B進來更新數據庫成功,并刪除緩存數據33p28資訊網——每日最新資訊28at.com

? 請求A將查詢的數據寫入到緩存中,此時請求A寫入緩存的數據已經是臟數據33p28資訊網——每日最新資訊28at.com

33p28資訊網——每日最新資訊28at.com

read/write through模式

cache aside模式需要應用方維護緩存的讀寫,對數據和緩存的維護設計侵入代碼,代碼復雜性增加。read/write through模式彌補了這一問題,調用方無需管理緩存和數據庫調用,通過抽象緩存管理組件維護緩存和數據庫的讀寫,解耦業務代碼。33p28資訊網——每日最新資訊28at.com

read through模式

當客戶端請求一個數據時,如果緩存中不存在該項(緩存未命中),緩存系統會自動從后端存儲中加載數據,然后將其添加到緩存中,并返回給客戶端。對于后續的相同請求,數據則直接從緩存中獲取,直到緩存過期或被淘汰。33p28資訊網——每日最新資訊28at.com

圖片圖片33p28資訊網——每日最新資訊28at.com

write through模式

在write-through模式中,當客戶端更新一個數據項時,緩存系統會同時更新緩存和后端存儲。這意味著所有的寫操作都會同步地寫入緩存和存儲,確保二者的數據一致性。33p28資訊網——每日最新資訊28at.com

圖片圖片33p28資訊網——每日最新資訊28at.com

write behind caching模式

Write Behind模式和Write Through模式整個架構是一樣的,核心在于write through在緩存數據庫中的更新是同步的,而Write Behind是異步的。33p28資訊網——每日最新資訊28at.com

每次的請求寫都是直接更新緩存然后就成功返回,并沒有同步把數據更新到數據庫。而把更新到數據庫的過程稱為flush,觸發flush的條件可自定義,如定時或達到一定容量閾值時進行flush操作。并且可以實現批量寫,合并寫等策略,也有效減少了更新數據的頻率,這種模式最大的好處就是讀寫響應非常快,吞吐量也會明顯提升。這種模式也有其他的問題,比如數據不是強一致性的,因為把最新的數據放在緩存里,如果緩存在flush到數據庫之前宕機了就會丟失數據,另外實現也比較復雜。33p28資訊網——每日最新資訊28at.com

幾種模式對

模式33p28資訊網——每日最新資訊28at.com

優點33p28資訊網——每日最新資訊28at.com

缺點33p28資訊網——每日最新資訊28at.com

Cache Aside33p28資訊網——每日最新資訊28at.com

實現比較簡單33p28資訊網——每日最新資訊28at.com

需要應用程序負責緩存的讀取和寫入操作,代碼侵入較大33p28資訊網——每日最新資訊28at.com

Read/Write Through33p28資訊網——每日最新資訊28at.com

引入緩存管理組件,緩存和數據庫的維護對應用程序透明;應用代碼入侵小,邏輯更清晰33p28資訊網——每日最新資訊28at.com

引入緩存管理組件,實現更復雜33p28資訊網——每日最新資訊28at.com

Write Behind Caching33p28資訊網——每日最新資訊28at.com

讀寫直接和緩存交互,異步批量更新數據33p28資訊網——每日最新資訊28at.com


33p28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-76545-0.html高并發緩存策略大揭秘:面試必備的緩存更新模式解析

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 垃圾收集器的秘密:深入理解JVM性能調優

下一篇: 2024年最具潛力的十大編程語言:引領未來技術潮流

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • MIX Fold3包裝盒泄露 新機本月登場

    小米的全新折疊屏旗艦MIX Fold3將于本月發布,近日該機的真機包裝盒在網上泄露。從圖上來看,新的MIX Fold3包裝盒在外觀設計方面延續了之前的方案,變化不大,這也是目前小米旗艦
  • 0糖0卡0脂 旭日森林仙草烏龍茶優惠:15瓶到手29元

    旭日森林無糖仙草烏龍茶510ml*15瓶平時要賣為79.9元,今日下單領取50元優惠券,到手價為29.9元。產品規格:0糖0卡0脂,添加草本仙草汁,清涼爽口,富含茶多酚,保留
  • 19個 JavaScript 單行代碼技巧,讓你看起來像個專業人士

    今天這篇文章跟大家分享18個JS單行代碼,你只需花幾分鐘時間,即可幫助您了解一些您可能不知道的 JS 知識,如果您已經知道了,就當作復習一下,古人云,溫故而知新嘛。現在,我們就開始今
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • “又被陳思誠騙了”

    作者|張思齊 出品|眾面(ID:ZhongMian_ZM)如今的國產懸疑電影,成了陳思誠的天下。最近大爆電影《消失的她》票房突破30億斷層奪魁暑期檔,陳思誠再度風頭無兩。你可以說陳思誠的
  • 疑似小米14外觀設計圖曝光:后置相機模組變化不大

    下半年的大幕已經開啟,而誰將成為下半年手機圈的主角就成為了大家關注的焦點,其中被傳有望拿下新一代驍龍8 Gen3旗艦芯片的小米14系列更是備受大家矚
  • 華為發布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發者大會2023(HDC.Together)大會上,HarmonyOS 4正式發布。自2019年發布以來,HarmonyOS一直以用戶為中心,經歷四年多的發展HarmonyOS已
  • 華為HarmonyOS 4升級計劃公布:首批34款機型今日開啟公測

    8月4日消息,今天下午華為正式發布了HarmonyOS 4系統,在更流暢的前提下,還帶來了不少新功能,UI設計也有變化,會讓手機煥然一新。華為宣布,首批機型將會在
Top 主站蜘蛛池模板: 嵩明县| 周宁县| 普格县| 阜城县| 龙口市| 陆川县| 缙云县| 紫金县| 镇康县| 平乡县| 黄骅市| 炎陵县| 乌苏市| 洛南县| 大埔县| 达尔| 宣威市| 从江县| 社旗县| 儋州市| 乌恰县| 麻阳| 西乡县| 琼中| 隆化县| 宁武县| 界首市| 巴林左旗| 平度市| 盐边县| 五寨县| 西充县| 西昌市| 新蔡县| 民勤县| 海原县| 台东市| 城口县| 镶黄旗| 泗水县| 成安县|