緩存穿透預防及優化方案:git
1)緩存空對象github
2)布隆過濾器攔截 redis
利用 Redis 的 Bitmaps 實現布隆過濾器,GitHub 上已經開源了相似的方案,讀者能夠進行參考:算法
https://github.com/erikdubbelboer/Redis-Lua-scaling-bloom-filter後端
緩存雪崩問題優化緩存
1)保證緩存層服務高可用性。jvm
2)依賴隔離組件爲後端限流並降級。優化
3)提早演練ui
緩存熱點 key 重建優化spa
1)互斥鎖 (mutex key) 只容許一個線程重建,防止重建致使db峯值
2)永遠不過時 單獨線程按期更新key 會存在數據不一致的狀況
增長熱點發現模塊,經過統計key訪問頻次發現熱點key,將熱點key緩存到server端的jvm cache中,減小redis的熱點數據訪問壓力,熱點發現模塊能夠經過LFU算法保存必定數量的熱點key被統計。
https://m.aliyun.com/yunqi/articles/404817?utm_content=m_41127
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653548432&idx=1&sn=ac120e1ffca7c2007c0bc5df51e03d7b&chksm=813a7e08b64df71ec7b8b6afc2a36a8ff1d780db54a395b58a9f18f084080c09de514e999834&scene=0&key=4fff5d6bf50b33b332e93f05f04e721aac485af2f9ed18e1d4458b5c7e654e5f2fa2677d2bef6f000d2841c9edfcd4938afebc292a74749921047a1c0b2a8f7104f0fe4bd696e54fc3907cc7f6c75008&ascene=0&uin=Mjc5Nzc3MDE4MA%3D%3D&devicetype=iMac+MacBookPro12%2C1+OSX+OSX+10.12.2+build(16C67)&version=12020010&nettype=WIFI&fontScale=100&pass_ticket=k%2BcN5HCFGqDMp0oRFjvSAL55Ai964R3j%2BiNG00BA2AdES0LaDwp0DMKua9l4afpI