Redis的缓存穿透问题和雪崩问题?
生活随笔
收集整理的這篇文章主要介紹了
Redis的缓存穿透问题和雪崩问题?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
緩存穿透:就是訪問redis中一個不存在的key的時候,會直接穿過緩存,去數據庫中進行查詢.
如果是黑客,進行惡意攻擊的時候,每次都請求超過2000個/秒的時候,這個時候mysql基本上就掛了.
解決辦法是:每次從數據庫中查詢到一個不存在的key的時候,就寫一個空值到緩存庫中,有惡意攻擊的時候,直接從緩存中取到這個空值.
?
?
?
緩存雪崩:就是每秒有5000個請求過來時候,redis緩存庫崩了,然后這些請求瞬間落在了mysql數據庫上,直接導致數據庫死機.
解決方案就是:
事前:提高緩存庫的高可用,? 使用主從結構加哨兵? cluster集群,?
事中:使用ehcache+hystrix限流組件(當請求量非常巨大的時候,就調用自己開發好的一個降級餓組件,返回一些默認值,如友情提示,或者空白值)
事后:做持久化,盡快恢復緩存集群,一旦恢復,自動從磁盤上讀取數據,恢復內存中的數據.
好處3:只要有2/5的請求可以被處理,就意味著你的系統沒有死掉,對用戶來說,就是可能點擊幾次刷新不出來頁面,但是可能多點幾次,就會刷新出來一次.
?
轉載于:https://www.cnblogs.com/qingmuchuanqi48/p/11117800.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Redis的缓存穿透问题和雪崩问题?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java连接Memcached进行CRU
- 下一篇: 女生初次适合开什么店 推荐市场最需要