Redis緩存應用場景


記錄一下自己的聽課筆記,看的網課。

參考資料:https://zhuanlan.zhihu.com/p/157717158

常見應用場景

1 數據緩存

  緩存一些常用的、經常訪問的、不經常變化的數據,也就是相對穩定即時性低的,比如說:菜單/權限/類別/數據字典。

2 文章點贊/閱讀量

  這樣的數據放緩存是因為文章的閱讀量和點贊量變化太快了,如果頻繁的更新數據庫,數據庫壓力太大了,頂不住的。如果放到redis中緩存起來,讀寫更快。加入開啟redis的數據持久化,就算redis崩掉也沒事,因為數據都存到磁盤里面了,然后定時或者一定次數的寫入數據庫,同步數據就行了。就算數據丟了也沒有問題,不是什么影響業務的數據。

3 密碼錯誤

  假如有這樣一種需求:限制24小時內密碼只能錯誤5次,輸入密碼錯誤5次后就不讓登錄了。我們平常是不是有這樣一種做法,在數據表里面加個字段記錄一下這個人的錯誤次數,每次密碼錯誤就更新錯誤次數,判斷錯誤次數是否超出所限制的次數。這時候我們可以放到redis緩存里面使用用戶名做key+次數做value記錄一下這個人的嘗試次數,設置有效期24小時。

4 微信公眾號投票

  同密碼錯誤場景一致

5 秒殺

  東西少並發高,如果直接訪問數據庫的話數據庫頂不住。加上redis的話,我們可以把庫存放到redis中存儲,redis本身有一個單線程模型,可以來一個請求,我們訪問一下數據庫,如果庫存沒有了直接返回結果,不會再訪問數據庫了。

6 分布式鎖

  Redis可用於實現分布式鎖。為了確保分布式鎖可用,至少鎖的實現必須同時滿足以下條件:

    1)互斥在任何時候,只有一個客戶端可以持有該鎖;

    2)不會發生死鎖;

    3)鎖定和解鎖必須是同一客戶端,並且該客戶端無法解鎖他人添加的鎖。

7 分布式 Session

  使用Redis在其他存儲上緩存會話的優點是Redis提供了持久性,目前很多解決方案都采用Redis作為會話存儲解決方案。待補充。


免責聲明!

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



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