首页
/
每日頭條
/
生活
/
本地緩存有什麼優缺點
本地緩存有什麼優缺點
更新时间:2025-12-12 08:22:15
背景

在業務開發過程中,對于數量較少且訪問頻繁的數據,需要使用本地緩存;對于本地緩存的失效策略,通常是超時被動失效;然後再次訪問時,通過回表,reload數據,将最新版本的數據更新至緩存中;

但是在某些場景下,需要主動刷新緩存中的内容(失效或者刷新),雖然我們可以通過設置較短的過期時間達到相同的目的,但是開銷相對較高;如何實現類似于分布式緩存監聽MQ消息,及時失效緩存呢?

類比分布式緩存的解決方案

在分布式緩存中,我們通常采用的是監聽消息隊列及時失效緩存;多實例服務的任一實例,監聽到消息後及時更新緩存,其他實例也能讀取到最新的數據;但是對于本地緩存就大不一樣,每個實例在自己的内存維護一份數據,當消息被其中一個實例消費後,就無法被其他實例感知到,所以需要解決一條消息如何被多實例消費的問題;

本地緩存有什麼優缺點(本地緩存的正确使用姿勢之主動更新)1

本地緩存主動失效策略 a

本地緩存有什麼優缺點(本地緩存的正确使用姿勢之主動更新)2

本地緩存主動失效策略 b

在這個方案中,存在兩種角色,本地緩存MQ适配器本地緩存MQ處理器

适配器:将MQ消息轉發成多實例消息,發送至處理器監聽的MQ中;

處理器:調用指定服務緩存更新接口,更新本地緩存;

這種方案存在的問題是

  1. 服務的實例可能發生宕機或者其他特殊情況,指定ip進行調用時可能出現調用失敗的情況,需要存在重試機制,保證服務重新連接後能正常更新緩存;
  2. 無論是策略a還是策略b都存在放大效應,M條消息最終會産生M*N次調用,同時本地緩存實現方需要實現特定的緩存失效接口,接入成本較高;
利用配置中心進行本地緩存的失效

鑒于上面的方案存在種種問題,所以需要采用一種更佳的方案,實現本地緩存的及時失效;目前市面上的配置中心都有推送的功能,對于配置發生變化時,可以及時地推送至所有實例中,因此,可以采用對配置中心指定key進行寫操作,然後監聽key進行緩存的失效;

本地緩存有什麼優缺點(本地緩存的正确使用姿勢之主動更新)3

讀寫配置中心失效本地緩存

該方案僅适用于支持推送的配置中心,對于隻支持定時拉取的配置中心,此方案的更新時間可能存在一定的延遲,效果未必優于定時任務主動失效緩存;

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
保溫杯裡的咖啡味怎麼去掉
保溫杯裡的咖啡味怎麼去掉
保溫杯裡的咖啡味怎麼去掉?把杯子刷幹淨以後,倒入鹽水,搖晃幾下杯子,然後靜置幾個小時中間别忘了把杯子倒過來,讓鹽水能把整個杯子都泡一遍最後洗幹淨就好,我來為大家科普一下關于保溫杯裡的咖啡味怎麼去掉?下面希望有你要的答案,我們一起來看看吧!保...
2025-12-12
人是住在地球表面還是地球裡面
人是住在地球表面還是地球裡面
人是住在地球表面還是地球裡面?女兒上幼兒園了,回來問我們,地球是什麼,月球是什麼,宇宙是什麼?怎麼和一個三歲半的孩子解釋呢?,現在小編就來說說關于人是住在地球表面還是地球裡面?下面内容希望能幫助到你,我們來一起看看吧!人是住在地球表面還是地...
2025-12-12
糖尿病秋季吃啥水果好
糖尿病秋季吃啥水果好
秋天時令水果紮堆上市:冬棗、柿子、石榴、山楂……每一個名字都讓人口齒生津。然而面對這些好吃的水果,糖友卻無法肆意妄為,害怕吃一口,血糖值就會突破天際。為了讓糖友安心食用時令水果,我們來好好盤算一下這些水果的糖分和吃法吧!一、6種秋季時令的高...
2025-12-12
紅色頭像新年專用2022 情侶
紅色頭像新年專用2022 情侶
情侶新年紅頭像跨年情侶頭像2023兔年頭像兔子情侶頭像新年喜慶情侶頭像,
2025-12-12
紅外熱成像儀的各種模式
紅外熱成像儀的各種模式
紅外熱成像的工作原理簡單來說就是紅外熱成像通過檢測物體本身發出的紅外輻射,将物體表面溫度分布形成視頻圖案,物體的溫度越高,其紅外輻射能量越大,熱成像即通過接收到的紅外線能量來獲得物體表面的溫度分布。那麼紅外熱成像具有哪些明顯的優勢呢?下面跟...
2025-12-12
Copyright 2023-2025 - www.tftnews.com All Rights Reserved