緩存雪崩問題,緩存擊穿問題,緩存一致性問題(內存+數據庫)

1.緩存雪崩:緩存掛了,全部請求直接打到數據庫了redis

例如:redis掛了,查詢數據的時候發現redis不可用,全部請求直接打到數據庫了數據庫

解決辦法:1.緩存集羣高可用,2首先本地一級緩存,其次redis二級緩存,最後數據庫緩存

2.緩存擊穿:全部請求在緩存中沒有找到數據,直接打到數據庫了隊列

例如:查詢數據的時候,發現redis中沒有,再請數據庫也沒有的狀況內存

解決辦法:1.雙重驗證,2,將查詢的空數據也寫入到緩存中並設置一個過時時間集羣

3.緩存一致性問題(內存+數據庫)高可用

查詢數據邏輯:先查緩存,緩存沒有則查詢數據庫,將返回數據寫入到緩存,並返回給調用方請求

修改數據邏輯:先刪除緩存中數據,再插入或更新數據庫數據

數據強一致性:讀和寫數據的邏輯放入隊列中串行執行(代碼已經實現,用於工做實戰中了)查詢

相關文章
相關標籤/搜索