Java高并發(fā)-緩存

緩存

命中率: 命中數(shù)/(命中數(shù)+ 沒有命中數(shù))

最大元素(空間):緩存控件


清空策略:
FIFO(先進(jìn)先出)   最近進(jìn)入緩存隊列的數(shù)據(jù)灶壶,在內(nèi)存不夠暮蹂、超出最大元素限制的時候優(yōu)先被清除緩存,以騰出空間緩存緩存新的數(shù)據(jù)。 
LFU(最少使用策略) 清除使用次數(shù)比較少的數(shù)據(jù)勇吊。
LRU(最近最小使用策略)  無輪是否過期闯估,根據(jù)數(shù)據(jù)最后一次使用的時間戳。有小保證熱點數(shù)據(jù)供炼。
過期時間 :過期最長時間的緩存和過期時間最短時間的緩存。
隨機


場景和業(yè)務(wù)需求:讀多寫少的場景,實時性越低就越容易緩存窘疮,緩存時間長就越容易命中
緩存的設(shè)計(粒度和策略) : 
緩存的容量和基礎(chǔ)設(shè)施 :
緩存節(jié)點失效發(fā)生故障(等): 
(熔點冗余) 

提高數(shù)據(jù)命中率

緩存分類和應(yīng)用場景

本地緩存:編程實現(xiàn)(成員變量袋哼、局部變量、靜態(tài)變量)
Guava Cache

分布式緩存: Memcache 闸衫、 Redis

Guava Cache

設(shè)計靈感來源于:ConcurrentHashMap
類似于Map涛贯,是一個存儲鍵值對的集合,另加了緩存過期和動態(tài)加載等算法的邏輯蔚出;按照根據(jù)面向?qū)ο蟮?思想做方法和對象的關(guān)聯(lián)性封裝弟翘。
實現(xiàn)的功能:將節(jié)點加載進(jìn)緩存結(jié)構(gòu)中,當(dāng)緩存的數(shù)據(jù)超過設(shè)置的最大值時骄酗,使用LRU算法來移除數(shù)據(jù)稀余,
他可以根據(jù)節(jié)點上次被訪問或者寫入時間來計算他的過期機制。
key 放在XXX中趋翻,value 放在XX中睛琳;可以統(tǒng)計緩存的命中率,異常率踏烙,未命中率等統(tǒng)計數(shù)據(jù)师骗。

通過segment來實現(xiàn)細(xì)粒度鎖,

Memcache(原理懵逼)

開源分布式緩存產(chǎn)品

單個ITEM 2G ,KEY 250個字節(jié)

Redis

遠(yuǎn)程內(nèi)存數(shù)據(jù)庫讨惩,非關(guān)系型數(shù)據(jù)庫辟癌。
特點:
1)支持?jǐn)?shù)據(jù)持久化,可以把內(nèi)存的數(shù)據(jù)保存到磁盤上荐捻,可以再次加載使用黍少。
2)不僅支持簡單的key value數(shù)據(jù)還支持特殊的類型: list 、set 靴患、hash仍侥、sorted set 豐富的數(shù)據(jù)類型。
3)支持?jǐn)?shù)據(jù)備份
4)性能極高鸳君,讀寫強勁
5) 所有操作都是 原子性农渊,同時支持多個操作合并后的原子性執(zhí)行
6) key 過期、pubish、通知砸紊、subscribe 等功能

使用場景:
1传于、去最新數(shù)據(jù)的操作
2、排行榜類似的應(yīng)用
3醉顽、需要精準(zhǔn)設(shè)計過期時間的應(yīng)用
4沼溜、用于計數(shù)器的應(yīng)用
5、可以應(yīng)用于做唯一性檢查的應(yīng)用
6游添、獲取某一個時間段內(nèi)所有數(shù)據(jù)的排序值
7系草、實時系統(tǒng)和來垃圾系統(tǒng)、實時的消息和隊列系統(tǒng)唆涝,以及最基礎(chǔ)的緩存功能

高并發(fā)場景下緩存的常見問題

1找都、緩存一致性問題

2、緩存并發(fā)問題

3廊酣、緩存穿透問題

1) 緩存空對象
2) 單獨過濾處理

4能耻、緩存的雪崩現(xiàn)象
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市亡驰,隨后出現(xiàn)的幾起案子晓猛,更是在濱河造成了極大的恐慌,老刑警劉巖凡辱,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戒职,死亡現(xiàn)場離奇詭異,居然都是意外死亡透乾,警方通過查閱死者的電腦和手機帕涌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來续徽,“玉大人蚓曼,你說我怎么就攤上這事∏张ぃ” “怎么了纫版?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長客情。 經(jīng)常有香客問我其弊,道長,這世上最難降的妖魔是什么膀斋? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任梭伐,我火速辦了婚禮,結(jié)果婚禮上仰担,老公的妹妹穿的比我還像新娘糊识。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布赂苗。 她就那樣靜靜地躺著愉耙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拌滋。 梳的紋絲不亂的頭發(fā)上朴沿,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天,我揣著相機與錄音败砂,去河邊找鬼赌渣。 笑死,一個胖子當(dāng)著我的面吹牛昌犹,可吹牛的內(nèi)容都是我干的锡垄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼祭隔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了路操?” 一聲冷哼從身側(cè)響起疾渴,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎屯仗,沒想到半個月后搞坝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡魁袜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片课梳。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡大年,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鞠呈,到底是詐尸還是另有隱情融师,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布蚁吝,位于F島的核電站旱爆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏窘茁。R本人自食惡果不足惜怀伦,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望山林。 院中可真熱鬧房待,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洼怔,卻和暖如春署惯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背镣隶。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工极谊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人安岂。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓轻猖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親域那。 傳聞我的和親對象是個殘疾皇子咙边,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容