1. 程式人生 > >redis快取擊穿

redis快取擊穿

一般的使用快取模型:

優點:減輕伺服器壓力

缺點:假設使用者故意使用一個不存在的key請求,伺服器每次還是會請求資料庫

改進方案:

查詢資料庫,不存在時,向快取中存放一個特殊字元

優點:使用者使用一個不存在的key重複請求,可以避免給伺服器帶來的壓力

缺點:使用者每次使用不同的且不存在的key請求,該模型無法有效攔截

改進:

設定黑名單,如果同一ID,且多次請求不存在的key請求,將該IP記錄在黑名單中,伺服器處理請求前,先判斷該i請求IP是否在黑名單中,在:不做處理,不在:正常處理

問題:當黑名單中集合存有海量的資料時,該集合將佔用極大的記憶體空間,如何快速的判斷該使用者IP是否存在集合中?

方案:使用布隆過濾器