Redis緩存查詢策略,redis和Mysql一致性保證


本文方案適用於高並發環境,普通環境可采用更簡潔的方案。

一、緩存更新

  采用先更新數據庫,再刪除緩存的策略。步驟如下:

  1)收到寫請求首先更新數據庫,並確定更新成功

  2)刪除Redis緩存,如果刪除成功,流程結束。

    3)如果Redis緩存沒有刪除成功,則將相關key放入消息隊列,消費者進行重試操作,直到刪除成功。

二、緩存讀取

  1)收到讀請求,首先讀取Redis,判斷緩存是否存在,如果存在,流程結束。

  2)如果Redis中,相關key的緩存不存在,則判斷全局環境是否存在相同key的讀請求。

  3)如果不存在相同讀請求,則查詢mysql,並將相關value更新到緩存。

  4)如果已存在相同讀請求,則沉默一定時間,重新讀取,直到讀取成功。可以設置讀取的重試次數,前提是確保99%的概率能讀取成功。設置重試次數,也是為了保證不發生讀取死循環。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM