一、String
string的應用場景
- 分布式鎖
- 布隆過濾器
- 快取
- 自增、自減:統計計數
- 分布式主鍵ID生成:incrby orderId 10000 一次獲取批量的ID ,批量獲取減少與Redis互動的頻率,
- session共享
二、hash型別
hash的特點:
- hash型別下的value只能存盤字串,不允許存盤其他資料型別,不存在嵌套現象,如果資料未取到,則回傳 nil
- 每個hash可以存盤2^32-1個鍵值對
- hash型別非常貼近物件的資料存盤形式,并且可以靈活添加、洗掉物件屬性,但hash設計初衷不是為了存盤大量物件而設計的,切記不可亂用,更不可以將hash作為物件串列使用,
- hgetall操作可以獲取全部屬性,如果內部field過多,遍歷整體資料效率就會很低,有可能成為資料訪問瓶頸,
hash的應用場景
1、購物車 :key=userId ,value 是各個商品對應的購買數量;

2、用戶的資訊
三、list
list可以實作:
堆疊



佇列

阻塞佇列

BRPOPLPUSH :阻塞式等待,將串列 source 中的最后一個元素 (尾元素) 彈出,并回傳給客戶端,將 source 彈出的元素插入到串列 destination ,作為 destination 串列的的頭元素,超時引數 timeout 接受一個以秒為單位的數字作為值,超時引數設為 0 表示阻塞時間可以無限期延長 (block indefinitely) , BRPOPLPUSH source destination timeout ;這種方式可以避免資料彈出后處理業務失敗 ,而資料丟失,我們可以通過LREM 洗掉處理成功的資料,也可以通過該指令獲取處理失敗的資料,
四、set

1、抽獎:srandmember 可以隨機獲取元素,但是他不會剔除已經查詢過的元素,即會重復抽獎

我們使用spop 抽獎可以移除已經獲取的元素

2、關注的人、按照交集可以實作共同關注的人

五、zset
zset是set的一個升級版本,他在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,每次指定后,zset會自動重新按新的值調整順序, 可以對指定鍵的值進行排序權重的設定,它應用排名模塊比較多,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/286084.html
標籤:其它
