string(字元串) 存儲最簡單的key-value結構。 value可以是字元串、整數或者浮點數。 可以對整個字元串或者字元串的一部分執行操作; 對整數和浮點數執行自增或者自減操作。 使用場景: 常規key-value緩存應用; list(列表) 一個鏈表,鏈表上的每個節點都包含了一個字元串,字 ...
string(字元串)
- 存儲最簡單的key-value結構。
- value可以是字元串、整數或者浮點數。
- 可以對整個字元串或者字元串的一部分執行操作;
- 對整數和浮點數執行自增或者自減操作。
使用場景:
- 常規key-value緩存應用;
list(列表)
- 一個鏈表,鏈表上的每個節點都包含了一個字元串,字元串可以重覆;
- 可以從鏈表的兩端推入或者彈出元素;
- 根據偏移量對鏈表進行修剪;
- 讀取單個或多個元素;
- 根據值查找或者移除元素。
使用場景:
- 最新消息排行等功能;
- 消息隊列;
- 關註列表,粉絲列表;
set(集合)
- 包含字元串的無序收集器,並且被包含的每個字元串都是獨一無二,各不相同的,即不能重覆;
- 可以添加、獲取、移除單個元素;
- 檢查一個元素是否存在於集合中;
- 計算交集、並集、差集;
- 從集合裡面隨機獲取元素。
使用場景:
- 共同好友,共同喜好,二度好友;
- 統計網站訪問IP(利用唯一性,統計訪問網站的所有獨立IP);
- 好友推薦(好友推薦時,根據tag求交集,大於某個閾值就可以推薦);
hash(散列)
- 包含鍵值對的無序散列表,鍵不能重覆;
- 可以添加、獲取、移除單個鍵值對;
- 獲取所有鍵值對。
使用場景:
- 存儲用戶信息(能單獨修改用戶某一屬性信息);
zset(有序集合)
- 有序集合的鍵被稱為成員,每個成員都是各不相同的;
- 而有序集合的值被稱為分值,分值必須為浮點數;
- 有序集合是字元串成員與浮點數分值之間的有序映射,元素的排列順序由分值的大小決定;
- 可以添加、獲取、刪除單個元素;
- 根據分值範圍或者成員來獲取元素;
- 有序集合是redis裡面唯一一個既可以根據成員訪問元素(這一點和散列一樣),又可以根據分值以及分值的排列順序來訪問元素的結構;
使用場景:
- 排行版;
- 帶權重的消息隊列;