緩存穿透是指查詢一個必定不存在的數據,因爲緩存是不命中時被動寫,而且處於容錯考慮,若是從存儲層查不到數據則不寫入緩存,這將致使這個不存在的數據每次請求都要到存儲層去查詢,失去了緩存的意義。後端
在流量大時,可能DB就掛掉了,要是有人利用不存在的key頻繁攻擊咱們的應用,這就是漏洞。緩存
緩存雪崩是指設置緩存採用了相同的過時時間,致使緩存在某一時刻同時失效,請求所有轉發到DB,DB瞬間壓力太重雪崩。併發
對於一些設置了過時時間的key,若是這些key可能在某些時間點被超高併發地訪問,是一種很是「熱點」的數據。高併發
緩存在某個點過時的時候,剛好在這個時間點對這個key有大量的併發請求過來,這些請求發現緩存過時通常都會從後端加載數據並回設到緩存,這個時候大併發的請求可能瞬間把後端DB壓垮。線程