11.redis面試問題

1.擊穿

image.png
  • 添加分布式鎖,當發(fā)現(xiàn)緩存為空時只允許一個請求到DB進行數(shù)據(jù)加載

2.穿透

image.png
  • 布隆過濾器

3.雪崩

在高并發(fā)下,大量緩存key在同一時間失效,大量請求直接落在數(shù)據(jù)庫上,導(dǎo)致數(shù)據(jù)庫宕機

解決方案:
失效時間隨機,避免大量數(shù)據(jù)同一時間失效
數(shù)據(jù)用不過期
定期調(diào)度刷新數(shù)據(jù),數(shù)據(jù)存活時間無限續(xù)命
數(shù)據(jù)分散在不同機器分片上,壓力分攤

4.分布式鎖

方案一:SETNX + EXPIRE
方案二:SETNX + value值是(系統(tǒng)時間+過期時間)
方案三:使用Lua腳本(包含SETNX + EXPIRE兩條指令)
方案四:SET的擴展命令(SET EX PX NX)
方案五:SET EX PX NX + 校驗唯一隨機值,再釋放鎖
方案六: 開源框架~Redisson
方案七:多機實現(xiàn)的分布式鎖Redlock
https://www.cnblogs.com/wangyingshuo/p/14510524.html

需要考慮 :鎖重入,死鎖,公平鎖?非公平鎖?
zk分布式鎖與redis分布式鎖的區(qū)別?
https://blog.csdn.net/xiaoxiaole0313/article/details/107011095/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容