1. 程式人生 > 資料庫 >redis 5種資料型別應用場景

redis 5種資料型別應用場景

String 型別

  1. 簡單緩衝
  2. 常規計數(微博關注數)
  3. 分散式ID
  4. 分佈鎖(結合Lua指令碼)

List 型別

可以當作佇列和棧這兩種資料結構來進行使用

  1. 粉絲列表
  2. 關注列表 (我關注了誰,誰關注了我)
  3. 訊息時間線
  4. 訊息佇列

Hash 型別

Hash 型別使用的就比較頻繁了,它可以把一組關聯的資料放入同一個 Key 下,這樣批量存取時使用一個命令就可以取出,也可以對一個 Key
下的單個 Field 進行存取,操作靈活且方便。

  1. String可以做的Hash都可以做
  2. 儲存物件型別(使用者資訊,商品資訊)

Set 型別

Set 型別有一些非常好的數學運算的命令,比如,交集、並集、差集 和 隨機,這些命令可以方便我們做很多有趣的功能,而不需要寫太多的程式碼。

  1. 隨機事件
  2. 抽獎
  3. 共同關注
  4. 可能認識的認
  5. 推薦

Set 型別提供的應用場景是否看起來就比較高大上了,但是實現卻非常的簡單。很多系統
使用的推薦功能看起來很厲害,其實用 Redis 可以簡單的現實,當然了,Redis 實現的推
薦功能也只是最初級的推薦功能了。

ZSet 型別

  1. 含量 大小 價格
  2. 熱搜,評分榜,排名,熱度

ZSet 資料型別比 Set 資料型別多了一個分值,有了這個分值可以做很多和排序相關的功能。
ZSet 的特點就是排序的功能,而且現實中有很多需要進行排序的場景。對於食品的含量、東西的大小,基本定了就不會再改變了,因此這個排序可以使用 MySQL、MongoDB,感覺 Redis 不是唯一可選的,因為我覺得體現不出它的優勢。而對於熱搜、點贊、熱度這樣排序是實時變化的,ZSet 處理這類的排序更加的適合了,也能體現出它的優勢了,在記憶體中排序,速度快,對於程式設計師使用省事方便。