高併發 快取

2021-10-18 18:25:51 字數 539 閱讀 4040

開闢乙個新的資料交換區,以解決原始資料獲取代價太大的問題,讓資料得到更快的訪問。

問題1 快取雪崩

問題2 資料不一致

現象:資料發生更新時,db和快取的資料不一致,多個快取副本的資料不一致。

原因:更新發生異常

策略:快取更新失敗後加入重試佇列、ttl縮短

問題3 hotkey

原因:微博數百萬使用者同時去吃乙個新瓜,訪問同乙個 key,流量集中打在乙個快取節點機器,這個快取機器很容易被打到物理網絡卡、頻寬、cpu 的極限,從而導致快取訪問變慢、卡頓。

策略提前識別熱key

拆分hot key:hotkey#1、hotkey#2、hotkey#3,……

增加副本

自動擴容

本地快取

問題4 bigkey

原因:部分 key 的 value 過大,讀寫、載入易超時的現象。

場景:很多使用者也會發表 1千 字甚至更長的微博內容,這些長微博也就成了大 key

策略拆key

用文件型資料庫mongodb代替或者直接快取到cdn

高併發快取實現

private static concurrenthashmap gloddeptfutumap new concurrenthashmap future 介面允許表示已經完成的任務 正在執行過程中的任務或者尚未開始執行的任務。futuretask 類實現了 future,幷包含一些建構函式,允許將...

高併發下快取穿透 快取雪崩,快取擊穿

併發進來後第乙個請求到達資料庫後,得到的資料並不存在,那麼這時返回null,這個null也會同時存在快取中,然而做快取判斷是,快取中為null就會去資料庫中查詢,那麼這時後面的併發,在來查詢這個不存在的資料是都會進入資料庫 導致資料庫壓力過大,從而導致系統崩潰 快取的key大面積的失效,如100萬的...

javaweb對於高併發策略 快取

前言 在系統開發過程中,經常遇到資料重複插入 重複更新 訊息重發傳送等等問題,因為應用系統的複雜邏輯以及網路互動存在的不確定性,會導致這一重複現象,但是有些邏輯是需要有冪等特性的,否則造成的後果會比較嚴重,例如訂單重複建立,這時候帶來的問題可是非同一般啊。什麼是系統的冪等性 冪等是資料中得乙個概念,...