精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

本地緩存技術探索

數據庫
本文主要介紹現有的主流本地緩存技術以及挑戰,并提出一種自研本地緩存技術。

Labs 導讀

緩存技術在高流量、大并發的應用服務中是一把利器,使用緩存可以降低數據庫訪問壓力、提高接口響應速度。緩存技術分為本地緩存和分布式緩存,二者各有利弊。本地緩存無法在集群中進行共享,存在應用服務重啟數據丟失、需要重新預熱加載的問題,而分布式緩存如redis、Memcached可以解決此類問題。但是由于本地緩存沒有分布式緩存的網絡io耗時和集中化依賴問題,依然在很多業務場景中有著獨到的應用。本文主要介紹現有的主流本地緩存技術以及挑戰,并提出一種自研本地緩存技術。

Part 01、本地緩存使用場景 

在程序中,有些表數據,數據量有限,但是程序啟動就會馬上訪問,并且訪問的很頻繁,比如(例如配置參數,區域信息)。針對這種情況,可以將數據放到程序的本地緩存中即內存中,從而提高系統的訪問效率、減少數據庫訪問。此外,相比本地緩存,數據庫訪問、分布式緩存會占用連接,存在網絡消耗,本地緩存只需要考慮緩存占用的內存空間、緩存的失效策略。數據庫、本地緩存及分布式緩存的區別如下表所示:

圖片

Part 02、現狀和挑戰 

2.1 Map

Map是一種k-v數據結構,非常方便于自己實現本地緩存,比如使用HashMap全局變量,主要需要考慮啟動或調用時加載數據、線程安全、內存泄漏、內存溢出等問題。常用的ConcurrentHashMap通過Node數組、鏈表、紅黑樹等數據結構,實現數據分段和鎖保護,兼顧了訪問性能和安全性。

圖片

此外,自己實現本地緩存好處在于,可以靈活控制緩存寫入時機,可以結合業務應用的啟動時機、通知機制或調用,自己控制未命中時查詢并寫入還是服務啟動時就全量預熱。

但是,通過Map自研實現本地緩存,需要顯式刪除才能將數據從緩存中清理;如果不考慮內存大小限制,一旦候選緩存數據量很大,容易出現內存溢出問題,造成服務崩潰造成重大線上問題,而自研實現緩存限制策略又增加了復雜性和維護風險。因此,要不要自研實現本地緩存,需要綜合考慮待緩存數據量與技術難度風險。

2.2 Guava Cache

Guava Cache是google實現的開源本地緩存技術,開箱即用,解決了實際應用中遇到的大多問題,是常用的本地緩存技術。構建一個本地緩存實例示例代碼如下:

圖片

Guava cache類似于concurrentHashMap,但是與之不同的是,concurrentHashMap需要顯式地刪除緩存,同時難以控制對本地內存的使用量。在緩存失效策略和本地內存占用控制方面,GuavaCache都有靈活的可選擇控制策略。

2.3 緩存失效策略

2.3.1基于大小的失效策略

圖片

2.3.2基于時間的失效策略

圖片

2.3.3基于引用的失效

圖片

此外,GuavaCache支持本地緩存對象刪除的監聽機制,在實際應用中,可以通過分析key刪除的原因,綜合評價本地緩存大小和失效策略設計的合理性,方便進一步優化本地緩存設置。

2.4 Caffeine

Caffeine cache與Guava cache非常類似,比如上面講到的guava cache三大類過期策略,caffeine都有。但是由于Guava cache基于LRU淘汰算法,而Caffeine 因為使用了 Window-TinyLFU 緩存淘汰策略,提供了一個近乎最佳的命中率,綜合了 LRU 和 LFU 算法的長處,使其成為本地緩存之王。

圖片

Window-TinyLFU算法原理如上圖所示,基本原理是將Cache分成了幾個區,新數據放到Window Cache,滿了之后使用LRU進行晉升Probation Cache,然后再根據TinyLYU算法決定是否再次晉級,或者淘汰,詳細的晉升和淘汰機制可以百度學習。看到這里,是不是覺得這套算法邏輯頗像JVM的分代回收算法,果然分區而治才是王道。

Caffeine封神除了淘汰算法無敵之外,還提供了AsyncLoadingCache,可以自定義線程池,多線程異步的好處在于調用方可以針對某些獲取源數據耗時選擇阻塞等待或非阻塞,防止因為某些少量超時導致load阻塞問題。

Caffeine還內置了統計功能,通過Caffeine.recordStats()打開數據收集,然后Cache.stats()方法將會返回當前緩存的一些統計指標,例如:

  • hitRate():查詢緩存的命中率
  • evictionCount():被驅逐的緩存數量
  • averageLoadPenalty():新值被載入的平均耗時

不過開啟統計功能會有一些性能損耗,這個需要具體評估。

Part 03、自研本地緩存技術 

上述介紹的中間件技術,基本可以滿足絕大多數開發場景,但是在實際應用中,經常遇到需要全量緩存表數據的場景,比如規則引擎中配置的通用規則,告警過濾規則等,這種基于全量預熱數據的本地緩存需求,主要要求緩存更新的實時性與數據完整性,與上述基于key-value命中的緩存機制不太相符,因此這里介紹一種自研的緩存全量數據的本地緩存技術。

該技術是要緩存表中全量有效數據,基于三個關鍵的表設計字段:update_time(更新時間)、status(數據狀態)、unique_key(表征數據唯一或通過計算保證唯一的字段),通過內置的單線程定時任務,實現本地緩存的增量更新和全量更新,同時兼顧了緩存更新的時效性和準確性,由于不需要依賴其他中間件,可以有效應用在所有的業務系統中。基本原理如下圖所示:

圖片

1.服務啟動時執行一次全量數據加載,開啟定時任務,并記錄當前時間t0為全量更新時間t1和增量更新時間t2。

2.每次定時任務執行時,如果(當前時間t-上次全量更新時間t1)>全量更新時間閾值max1,則執行一次全量數據對齊,并刷新全量更新時間t1=t。當然這個策略看實際需求是否有必要。

3.如果未觸發全量更新,會增量查詢 (當前時間t-上次增量更新時間t2)時間區間內表中更新數據,并更新t2=t。

4.如果第3步查詢到有更新數據,則增量更新到本地緩存(要求表設計為邏輯刪除)。

5.定時任務不斷重復2~4步驟即可。

Part 04、總結 

本地緩存是服務開發者做性能優化的重要技術手段之一,本篇介紹了常用的幾種本地緩存技術方案。本著拿來主義的原則,通過需求場景評估后,如果這些成熟的本地緩存中間件能夠滿足需求,則優先選用,如guava cache, caffeine。自己實現的好處在于能夠靈活控制本地緩存讀、寫、失效、監聽等各種時機,可以更加深入融合實際需求,但也存在內存控制、內存泄漏、并發問題等挑戰,所以需要綜合評判。

責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2022-05-27 09:25:12

攜程酒店本地緩存查詢服務

2023-05-12 11:52:21

緩存場景性能

2012-04-02 16:35:49

網絡緩存

2014-12-02 10:33:51

2024-11-01 16:18:52

2017-06-12 18:24:25

數據庫壓縮技術

2016-05-24 15:55:01

大數據TalkingData

2024-06-19 19:07:53

2025-09-01 08:28:41

2017-09-08 17:22:49

互聯網

2010-02-04 10:47:29

Dalvik移植技術

2011-04-15 09:23:33

IETFLISP路由器

2024-04-30 09:48:33

LLMRAG人工智能

2012-05-16 16:06:25

VMwareSSDvSphere 5

2024-04-24 10:24:09

2011-09-01 10:27:26

Android圖片本地緩存Android遠程圖片

2013-07-03 15:11:41

ANdroid

2011-07-11 10:00:34

PHP緩存技術

2023-10-17 15:57:52

2024-11-05 09:56:30

點贊
收藏

51CTO技術棧公眾號

国产视频一区二| 午夜伦理在线| 首页亚洲欧美制服丝腿| 一区二区三区四区精品| 亚洲午夜精品一区| 97久久人人超碰caoprom| 久久久久久久久久久久久久久99| 成人激情黄色网| 中文字幕第28页| 欧美亚洲高清| 亚洲第一网站男人都懂| 777一区二区| 国产社区精品视频| 亚洲日本va在线观看| 黑人中文字幕一区二区三区| 一级α片免费看刺激高潮视频| 一区福利视频| 久久精品国产亚洲一区二区 | 国产精品迅雷| 亚洲精品久久嫩草网站秘色| 欧美日韩精品免费在线观看视频| 国产精品九九九九| 天堂久久一区二区三区| 久久久亚洲国产天美传媒修理工| 操她视频在线观看| 要久久爱电视剧全集完整观看| 欧美一级生活片| 丰满少妇在线观看| 最新中文字幕在线播放| 亚洲在线免费播放| 激情五月五月婷婷| 欧美成人三区| 中文字幕欧美区| 免费在线观看91| 日本黄色三级视频| 国产91在线看| 99re视频在线观看| 国产特级aaaaaa大片| 奇米色一区二区| 日韩免费不卡av| 亚洲男人的天堂在线视频| 国产精品a级| 麻豆乱码国产一区二区三区| 女同久久另类69精品国产| 国产精品一国产精品| 亚洲久久久久久久久久久| 午夜不卡久久精品无码免费| 伊人久久大香线蕉av超碰| 91精品国产丝袜白色高跟鞋| 精品综合久久久久| 香蕉久久久久久| 欧美老女人在线| 波多野结衣xxxx| 啪啪av大全导航福利综合导航| 日本韩国精品在线| 99热手机在线| 日本欧美在线| 在线播放/欧美激情| 国产乱女淫av麻豆国产| 日本中文字幕视频一区| 欧美福利电影网| 欧美污在线观看| 日韩视频一区二区三区四区| 日韩欧美国产系列| 日本人妻一区二区三区| 超碰成人在线观看| 亚洲国产精品专区久久| 一区二区三区免费在线观看视频| 免费久久精品| 中文字幕日韩欧美| 黑鬼狂亚洲人videos| 最新国产精品久久久| 欧美激情免费在线| 日韩乱码人妻无码中文字幕| 欧美中文日韩| 国产精品精品视频一区二区三区| 91在线你懂的| 成人午夜av在线| 好看的日韩精品视频在线| 国产h在线观看| 一区视频在线播放| 日本男女交配视频| 韩国美女久久| 51精品国自产在线| 亚洲视频在线播放免费| 国产成人黄色| 精品国产一区二区在线 | 九色视频在线观看免费播放| 国产精品视频一二三| 好吊色视频988gao在线观看| 深夜av在线| 69久久99精品久久久久婷婷| 污污免费在线观看| 成人91在线| 欧美精品videossex88| 精品无码一区二区三区的天堂| 国产尤物一区二区在线| 免费一区二区三区| √天堂8在线网| 色狠狠综合天天综合综合| theporn国产精品| 宅男在线一区| 欧美成人亚洲成人日韩成人| www.久久久久久久| 国产成人综合网站| 亚洲成色www久久网站| heyzo一区| 制服丝袜一区二区三区| 中文字幕免费看| 欧美高清不卡| 国产美女91呻吟求| 婷婷亚洲一区二区三区| 国产精品第一页第二页第三页| 国产妇女馒头高清泬20p多| 日韩一区中文| 亚洲人成伊人成综合网久久久| 黄色片在线观看网站| 日本vs亚洲vs韩国一区三区二区| 国产一区二区免费电影| 91三级在线| 欧美日韩一区国产| 伊人网在线视频观看| 激情欧美一区| 91福利视频导航| 日本三级视频在线播放| 欧美性一区二区| 无遮挡aaaaa大片免费看| 精品不卡视频| 91免费版黄色| 成人在线免费看黄| 欧美精品自拍偷拍| 91社区视频在线观看| 欧美一级播放| 精品国产二区在线| caoporn视频在线观看| 日韩精品资源二区在线| caoporn91| 国产乱码精品一区二区三区忘忧草 | 亚洲欧美激情另类| 亚洲日本在线视频观看| 99视频在线视频| 欧美日韩性在线观看| 日本欧美精品在线| 色天堂在线视频| 日韩欧美中文第一页| 人妻精品久久久久中文字幕| 国产欧美日本| 黄色小网站91| 中文字幕人成乱码在线观看| 亚洲激情 国产| 影音先锋亚洲天堂| 91在线观看地址| 免费观看精品视频| 国内精品久久久久久久影视简单 | 国产日本在线播放| 国产精品超碰| 97在线视频一区| 四虎国产精品永远| 色综合咪咪久久| jizz中文字幕| 另类调教123区| 九一免费在线观看| 精品国产18久久久久久洗澡| 91av福利视频| 国产三级在线| 欧美久久婷婷综合色| 欧美黄色免费看| 99re这里只有精品首页| 99免费视频观看| 久久久久久久久99精品大| 99在线观看视频| 51av在线| 日韩在线视频免费观看高清中文| 国产又粗又猛又爽又黄的| 一区二区欧美精品| 性色av蜜臀av色欲av| 免费看精品久久片| 成人午夜免费在线视频| 亚洲素人在线| 成人免费在线视频网址| sm性调教片在线观看| 亚洲天堂免费观看| aaa一区二区| 精品动漫一区二区三区| 日韩影视一区二区三区| 国产盗摄女厕一区二区三区| 国产在线青青草| 国产精品久久久久无码av| 国产高清精品一区二区| 日韩在线影院| 欧美夫妻性生活xx| 国产精品四虎| 精品国产露脸精彩对白| 亚洲中文无码av在线| 亚洲一区日韩精品中文字幕| 国产免费无遮挡吸奶头视频| 国产精品99久久久| 国产精品免费成人| 欧美精品国产一区| 日韩理论片在线观看| 精品日产乱码久久久久久仙踪林| 国产精品永久在线| 密臀av在线播放| 久久国产精品偷| 狠狠色伊人亚洲综合网站l| 精品久久国产字幕高潮| 在线观看国产一区二区三区| 婷婷久久综合九色综合绿巨人| 狂野欧美性猛交| 久久日韩精品一区二区五区| 国产性猛交96| 久久av资源站| 男人的天堂日韩| 99精品视频免费全部在线| 永久免费在线看片视频| 波多野结衣一区| 麻豆av福利av久久av| 亚洲欧洲国产精品一区| 成人在线观看视频网站| 日韩精品三区| 日本电影亚洲天堂| 免费成人在线电影| 欧美精品久久久久久久免费观看 | 国产精欧美一区二区三区| 九色91在线| 久久国产精品影视| 免费在线看黄| 中文字幕国产亚洲2019| 韩国中文免费在线视频| 日韩精品在线观看视频| 开心激情综合网| 欧美一区二区三区播放老司机| 中文字幕 自拍偷拍| 色拍拍在线精品视频8848| 亚洲熟女综合色一区二区三区| 午夜不卡久久精品无码免费| 国产日本在线| 亚洲成人国产精品| 精品人妻av一区二区三区| 欧美二区乱c少妇| 伊人亚洲综合网| 欧美亚洲综合在线| 乱子伦一区二区三区| 91成人免费网站| 天天操天天干天天摸| 色综合久久久网| 午夜精品久久久久久久蜜桃| 色综合天天综合给合国产| 日本一区二区免费电影| 色天使色偷偷av一区二区| 亚洲欧美一区二区三区在线观看| 亚洲日本视频| mm131午夜| 在线成人激情| 粉嫩av一区二区三区天美传媒 | 青青视频在线免费观看| 午夜精品123| 99久在线精品99re8热| 欧美日韩国产中字| 国产性生活视频| 欧美撒尿777hd撒尿| 亚洲天堂国产精品| 欧美一区二区三区四区在线观看| 国产普通话bbwbbwbbw| 日韩精品一区二区三区三区免费| 国产77777| 亚洲欧美激情精品一区二区| 福利片在线观看| www亚洲欧美| 欧美女同一区| 91地址最新发布| 亚洲成av在线| 91视频国产精品| 大桥未久女教师av一区二区| 久久综合福利| 日韩欧美大片| 菠萝蜜视频在线观看入口| 91久久视频| 国产视频一区二区视频| 国产一区二区不卡在线| 精品人妻伦一二三区久| 欧美国产97人人爽人人喊| 1024手机在线视频| 精品人伦一区二区三区蜜桃免费| 无码人妻久久一区二区三区| 在线成人高清不卡| 少妇高潮久久久| 日韩在线视频免费观看高清中文 | 国产99久久精品一区二区永久免费 | 2014亚洲天堂| 亚洲 欧美综合在线网络| 中文字幕xxxx| 欧美不卡一区二区三区四区| 暖暖视频在线免费观看| 欧美精品免费在线观看| 最新日韩精品| 97碰碰视频| 欧美精品一二| 亚洲人成无码网站久久99热国产 | 成人免费毛片日本片视频| 中文一区二区在线观看| 国产精品不卡av| 欧美日韩精品一二三区| 黑人精品一区二区三区| 日韩在线视频播放| 久久人体大尺度| 99热在线国产| 天天做天天爱天天综合网2021 | 一区二区三区电影大全| 91中文精品字幕在线视频| 免费久久久久久久久| 中国丰满熟妇xxxx性| 久久99国产精品免费| 四虎影成人精品a片| 亚洲一区精品在线| 99久久久国产精品无码网爆| 一本久久综合亚洲鲁鲁| 国产丝袜精品丝袜| 2020国产精品久久精品不卡| 久久精品播放| 成人黄色一区二区| 99久久er热在这里只有精品15| 国产成人av免费在线观看| 欧洲人成人精品| 免费在线视频你懂得| 久久久午夜视频| av成人综合| 女人床在线观看| 国产一区二区三区四区五区入口| 鲁丝一区二区三区| 日韩欧美在线中文字幕| 五月天久久久久久| 欧美激情网友自拍| 视频亚洲一区二区| 无颜之月在线看| 国产精品自拍毛片| 一区二区视频免费看| 欧美日韩成人高清| 男人在线资源站| 国产欧美久久久久久| 97在线精品| 在线观看免费av网址| 国产精品久久久久久一区二区三区| 无码人妻久久一区二区三区| 国产亚洲精品久久久久久777| 欧美色网一区| 日韩精品一区二区三区丰满| 日韩精品视频网| 夫妇交换中文字幕| 欧美人牲a欧美精品| 日本中文字幕伦在线观看| 成人动漫网站在线观看| 四虎成人精品永久免费av九九| 爱情岛论坛成人| 国产精品久久久久一区二区三区| 中文字幕在线观看精品| 精品国产区一区二区三区在线观看 | 伊人久久大香线蕉综合四虎小说 | 欧美黄色录像| 国产精品免费观看久久| 久久久精品免费免费| 日本欧美www| 久久九九国产精品怡红院| 日韩精品三级| 久操手机在线视频| 99九九99九九九视频精品| 久久久久久久久久久影院| 国产一区二区三区在线免费观看 | 国产精品一区二区免费看| 亚洲少妇在线| 中文天堂资源在线| 91精品国产综合久久小美女| 少妇av在线| 久久一区二区三区欧美亚洲| 日韩黄色片在线观看| 日本黄色录像视频| 精品久久久久久久久久久久久久久| 国产在线美女| 亚洲va韩国va欧美va精四季| 国产精品一区二区你懂的| 久久草视频在线| 一区二区在线免费视频| 日韩有吗在线观看| 红桃av在线播放| 1000精品久久久久久久久| 欧美一区二区黄片| 国产精品视频网站| 亚洲国产国产亚洲一二三| 成人在线观看免费高清| 日韩亚洲电影在线| 九色成人搞黄网站| 日本a级片在线播放| 久久久久久久一区| 精品国产av 无码一区二区三区| 欧美一级淫片丝袜脚交| 91超碰国产精品| 91成年人网站| 亚洲第一精品电影| 91麻豆精品| 国内外免费激情视频|