redis 5種資料型別應用場景
阿新 • • 發佈:2020-12-11
String 型別
- 簡單緩衝
- 常規計數(微博關注數)
- 分散式ID
- 分佈鎖(結合Lua指令碼)
List 型別
可以當作佇列和棧這兩種資料結構來進行使用
- 粉絲列表
- 關注列表 (我關注了誰,誰關注了我)
- 訊息時間線
- 訊息佇列
Hash 型別
Hash 型別使用的就比較頻繁了,它可以把一組關聯的資料放入同一個 Key 下,這樣批量存取時使用一個命令就可以取出,也可以對一個 Key
下的單個 Field 進行存取,操作靈活且方便。
- String可以做的Hash都可以做
- 儲存物件型別(使用者資訊,商品資訊)
Set 型別
Set 型別有一些非常好的數學運算的命令,比如,交集、並集、差集 和 隨機,這些命令可以方便我們做很多有趣的功能,而不需要寫太多的程式碼。
- 隨機事件
- 抽獎
- 共同關注
- 可能認識的認
- 推薦
Set 型別提供的應用場景是否看起來就比較高大上了,但是實現卻非常的簡單。很多系統
使用的推薦功能看起來很厲害,其實用 Redis 可以簡單的現實,當然了,Redis 實現的推
薦功能也只是最初級的推薦功能了。
ZSet 型別
- 含量 大小 價格
- 熱搜,評分榜,排名,熱度
ZSet 資料型別比 Set 資料型別多了一個分值,有了這個分值可以做很多和排序相關的功能。
ZSet 的特點就是排序的功能,而且現實中有很多需要進行排序的場景。對於食品的含量、東西的大小,基本定了就不會再改變了,因此這個排序可以使用 MySQL、MongoDB,感覺 Redis 不是唯一可選的,因為我覺得體現不出它的優勢。而對於熱搜、點贊、熱度這樣排序是實時變化的,ZSet 處理這類的排序更加的適合了,也能體現出它的優勢了,在記憶體中排序,速度快,對於程式設計師使用省事方便。