經驗館

位置:首頁 > 科技 > 科技生活

redis雪崩和穿透的解決方法

redis雪崩和穿透的解決方法

redis穿透指當用户查詢的key在redis中不存在,對應的id在數據庫也不存在,此時被非法用户進行攻擊,大量的請求會直接打在db上,造成宕機,從而影響整個系統。解決方法:把空的數據也緩存起來,比如空字符串,空對象,空數組或list。

redis雪崩是指緩存中的數據大批量失效,然後這個使用又要大量的請求進來,但是由於redis中的key全部失效了所有會全部請求到db上,造成宕機。解決方法:設置對應熱點key永不過期。過期時間錯開,過期時間使用隨機生成,並且熱點數據的過期時間設置的長一點,非熱點數據可以設置短一點。多緩存結合,例如:請求進入,可以現請求redis,當redis中不存在的時候再去請求memcache,如果都沒有再去請求db。


標籤:redis 雪崩 穿透