開闢乙個新的資料交換區,以解決原始資料獲取代價太大的問題,讓資料得到更快的訪問。
問題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對於高併發策略 快取
前言 在系統開發過程中,經常遇到資料重複插入 重複更新 訊息重發傳送等等問題,因為應用系統的複雜邏輯以及網路互動存在的不確定性,會導致這一重複現象,但是有些邏輯是需要有冪等特性的,否則造成的後果會比較嚴重,例如訂單重複建立,這時候帶來的問題可是非同一般啊。什麼是系統的冪等性 冪等是資料中得乙個概念,...