當前位置:編程學習大全網 - 源碼下載 - redis用在什麽地方

redis用在什麽地方

redis用在什麽地方?

redis應用場景

● 令牌(Token)生成

● 短信驗證碼

● 排行榜

● 消息隊列

Redis 中list的數據結構實現是雙向鏈表,所以可以非常便捷的應用於消息隊列(生產者 / 消費者模型)。消息的生產者只需要通過lpush將消息放入 list,消費者便可以通過rpop取出該消息,並且可以保證消息的有序性。如果需要實現帶有優先級的消息隊列也可以選擇sorted set。而pub/sub功能也可以用作發布者 / 訂閱者模型的消息。無論使用何種方式,由於 Redis 擁有持久化功能,也不需要擔心由於服務器故障導致消息丟失的情況。(推薦:《Redis視頻教程》)

如果對於數據壹致性要求高的話還是用RocketMQ等專業系統。

由於redis把數據添加到隊列是返回添加元素在隊列的第幾位,所以可以做判斷用戶是第幾個訪問這種業務

隊列不僅可以把並發請求變成串行,並且還可以做隊列或者棧使用

分布式鎖

驗證前端的重復請求,可以通過redis進行過濾

秒殺系統,基於redis是單線程特征,防止出現數據庫“爆破”

全局增量ID生成,類似“秒殺”

計數器

諸如統計點擊數等應用。由於單線程,可以避免並發問題,保證不會出錯,而且100%毫秒級性能!

計數功能應該是最適合 Redis 的使用場景之壹了,因為它高頻率讀寫的特征可以完全發揮 Redis 作為內存數據庫的高效。在 Redis 的數據結構中,string、hash和sorted set都提供了incr方法用於原子性的自增操作。

例子:

如果應用需要顯示每天的註冊用戶數,便可以使用string作為計數器,設定壹個名為REGISTERED_COUNT_TODAY的 key,並在初始化時給它設置壹個到淩晨 0 點的過期時間,每當用戶註冊成功後便使用incr命令使該 key 增長 1,同時當每天淩晨 0 點後,這個計數器都會因為 key 過期使值清零。

每條微博都有點贊數、評論數、轉發數和瀏覽數四條屬性,這時用hash進行計數會更好,將該計數器的 key 設為weibo:weibo_id,hash的 field 為like_number、comment_number、forward_number和view_number,在對應操作後通過hincrby使hash 中的 field 自增。

如果應用有壹個發帖排行榜的功能,便選擇sorted set吧,將集合的 key 設為POST_RANK。當用戶發帖後,使用zincrby將該用戶 id 的 score 增長 1。sorted set會重新進行排序,用戶所在排行榜的位置也就會得到實時的更新。

  • 上一篇:技嘉主板bios的設置圖解
  • 下一篇:尋找JAVA判斷題的答案
  • copyright 2024編程學習大全網