Redis快取技術的應用?-北京銳智互動

hskq001發表於2019-11-12

Redis 是一款免費開源的遵守 BSD 協議,是高效能的 NOsql 快取 Key-value 資料庫。 Redis 支援資料持久化,可以在將記憶體中的資料保持在詞牌當中,重啟後還可以再次載入進行使用, Redis 支援簡單的 Key-valus 型別資料,同時還提供了 list set zset hash 等資料結構的儲存,同時還支援資料備份,即主從複製。

Redis 的經典應用場景:

1.  快取熱點資料: 熱點資料(經常會被查詢,但不是進場被修改或者刪除的資料),首選是使用redis 快取, redis 的效能非常優越。

2.  計數器: 諸如統計點選數,訪問數,點贊數,評論數,瀏覽數等應用,由於單執行緒,避免了併發問題,保證資料的正確性,並且100% 毫秒級效能,同時開啟 Redis 持久化,以便於持久化資料。

3.  單執行緒機制 :驗證前段的重複請求,可以自由擴充套件類似情況。可以透過redis 進行過濾,比如,每次請求將 request IP ,引數,介面等 hash 作為 key 儲存 redis ,設定多長時間有效期,然後下次請求過來的時候現在 redis 中檢索有沒有這個 Key ,進而驗證是不是一定時間內過來的重複提交,在比如,限制使用者登入次數,不如一天錯誤登入的次數不能高於多少個。秒殺系統,基於 redis 是單執行緒特徵,防止出現資料庫超賣,全域性增量 ID 生成等,

4.  排行榜 :誰的分高誰的排名就靠前,比如點選率高,活躍度高,銷售數量最高,投票最高的前10 名排行等等。

5.  分散式鎖 :使用redis 可以實現分散式鎖,為了確保分散式鎖可用,至少確保鎖的實現同時滿足一下幾個條件:互斥性在任何時刻,只有一個客戶端能持有鎖。不會發生死鎖,即使有一個客戶端在持有鎖的期間崩潰而沒有主動解鎖,也能保證後續其他客戶等能加鎖,局域容錯性,只能在大部分的 Redis 節點正常執行,客戶就可以加鎖和解鎖。加鎖和解鎖必須是同一個客戶端,客戶端不能解他人加的鎖。

6.  :使用Redis 的進行會話快取是非常常見的一種場景,用 Redis 快取會話比其他儲存的優勢在於: Redis 提供持久化,目前大量方案都採用了 redis 作為 Session 的儲存方案。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952540/viewspace-2663779/,如需轉載,請註明出處,否則將追究法律責任。

相關文章