緩存雪崩
??在某個(gè)時(shí)間段設(shè)置了過(guò)期時(shí)間的key都一起失效了就谜,那么db肯定扛不住那么大的并發(fā)量,可能會(huì)崩潰里覆;
??所以我們?cè)谠O(shè)置一些熱點(diǎn)key的時(shí)候丧荐,要盡量設(shè)置不同的過(guò)期時(shí)間,以避免在高并發(fā)的情況下緩存雪崩問(wèn)題
緩存穿透
??從字面上理解就是因?yàn)槊看巫霾樵冋?qǐng)求的時(shí)候無(wú)法從緩存中查詢租谈,從而直接將請(qǐng)請(qǐng)求落入DB篮奄,剛好db中也沒(méi)這條數(shù)據(jù)捆愁,那么返回的就是null,就不會(huì)放入緩存中窟却,周而復(fù)始直到db炸裂昼丑。
??這種方案簡(jiǎn)單粗暴的解決方式就是當(dāng)db中查詢?yōu)閚ull的時(shí)候給緩存設(shè)置過(guò)期時(shí)間 的默認(rèn)值,從而解決掉這種查詢直接到達(dá)db的頻率
緩存擊穿
??某個(gè)熱點(diǎn)key突然過(guò)期了夸赫,那么必然會(huì)導(dǎo)致菩帝,大量的請(qǐng)求入db那么db就會(huì)扛不住壓力,涼涼茬腿。
??解決方案設(shè)置鎖(避免大家同時(shí)訪問(wèn)該db)呼奢,如果是分布式系統(tǒng)就設(shè)置分布式鎖。