東莞厚街做網(wǎng)站百度網(wǎng)站免費(fèi)優(yōu)化軟件下載
String(字符串類型)
- 計(jì)數(shù)器: incr / decr, 比如商品庫(kù)存,業(yè)務(wù)號(hào)的發(fā)號(hào)器
- 業(yè)務(wù)數(shù)據(jù)key-value緩存, 緩存結(jié)果數(shù)據(jù),提高網(wǎng)站性能,緩解DB壓力
- 分布式session會(huì)話, 集群環(huán)境下存儲(chǔ)token鑒權(quán)信息
- 分布式鎖,集群下保證線程安全。
List(列表)
- 簡(jiǎn)易的消息隊(duì)列:
- 通過lpush, lpop來進(jìn)行入隊(duì)和出隊(duì),生產(chǎn)者從左邊推送消息,消費(fèi)者從右邊消費(fèi)消息。
- 最近聯(lián)系人列表:
- 通過list存儲(chǔ)結(jié)構(gòu),根據(jù)用戶id把該用戶最近的聯(lián)系人根據(jù)時(shí)間倒序插入到list中,超過的數(shù)量就從后面刪除掉
- 歷史記錄和操作日志
- 將用戶最近瀏覽或操作的記錄存儲(chǔ)到list中,key就是該用戶的id或者其他唯一標(biāo)識(shí)
- 通過LPUSH 和 RPUSH在list頭部插入,然后通過LTRIM保留最近一部分的歷史數(shù)據(jù)
- 批量查詢數(shù)據(jù)分頁(yè)存儲(chǔ)
- 從DB一次查出100條數(shù)據(jù),存儲(chǔ)到redis的list中,后續(xù)再查找數(shù)據(jù)直接從redis中先查詢
Set(集合)
- 用戶的畫像,文章的標(biāo)簽,文章會(huì)有多個(gè)標(biāo)簽,將多個(gè)標(biāo)簽存儲(chǔ)到不同的set中
- 計(jì)算交集,并集等操作,比如社交好用中的共同好友,共同關(guān)注,計(jì)算不同用戶間的某特點(diǎn)的交集或并集等
- 抽獎(jiǎng)活動(dòng)設(shè)計(jì):
- SRANDMEMBER key [count], 如果命令執(zhí)行時(shí),只提供了key參數(shù),那么集合會(huì)隨機(jī)返回一個(gè)元素,該操作不會(huì)刪除,所以適合放回類型的抽獎(jiǎng)。
- SPOP隨機(jī)一個(gè)元素,并從中移除該元素,并且會(huì)將該元素返回,適合不放回類型抽獎(jiǎng)。
- 網(wǎng)站獨(dú)立ip統(tǒng)計(jì),即不能存在重復(fù)的ip,同一個(gè)ip訪問10次,也算1次這種的統(tǒng)計(jì)。
Sorted Set(有序集合,也叫ZSet)
- 根據(jù)積分,分?jǐn)?shù)做排行榜,或者商品熱銷,視頻熱播,熱點(diǎn)文章排行,班級(jí)名次排名等排行榜操作。
- 優(yōu)先級(jí)隊(duì)列,將任務(wù)的優(yōu)先級(jí)作為Sorted Set的分值
Hash(哈希)
-
對(duì)象存儲(chǔ):
- Hash結(jié)構(gòu)存儲(chǔ)對(duì)象所有的屬性,例如一個(gè)人的姓名,年齡,性別,工作等信息。
- 這些屬性名可以作為hash表中的鍵, 屬性值可以作為hash表中的值value。
- 在存儲(chǔ)大量對(duì)象時(shí),使用Hash結(jié)構(gòu)可以提高數(shù)據(jù)讀寫效率
-
計(jì)數(shù)器系統(tǒng):
- 可以使用Hash結(jié)構(gòu)實(shí)現(xiàn)計(jì)數(shù)器系統(tǒng)
- 例如網(wǎng)站上的點(diǎn)贊和評(píng)論數(shù),每個(gè)文本,圖片或者視頻等支持點(diǎn)贊和評(píng)論的內(nèi)容ID作為Hash表中key
- 點(diǎn)贊和評(píng)論的次數(shù)作為Hash表中的value。
- key = 文章ID, field=評(píng)論, value=值, field = 點(diǎn)贊, value = 值
-
電商里面的購(gòu)物車存儲(chǔ)(自營(yíng)電商平臺(tái),中小型電商平臺(tái))
- 第一層Map: key是用戶ID。
- 第二層Map: key是購(gòu)物車中的每個(gè)商品id, 值是購(gòu)物車數(shù)據(jù),注意: 是購(gòu)物車數(shù)據(jù),不是商品數(shù)據(jù),應(yīng)該是購(gòu)買數(shù)量,單個(gè)價(jià)格, 總價(jià)格等這些內(nèi)容。
Bitmap(位存儲(chǔ))
- 占用內(nèi)存極小,是對(duì)大量的二進(jìn)制數(shù)據(jù)進(jìn)行存儲(chǔ)
- 布隆過濾器:
- 使用Bitmap實(shí)現(xiàn)布隆過濾器算法,用于判斷一個(gè)元素是否存在于一個(gè)集合中
- 將元素通過Hash算法轉(zhuǎn)成二進(jìn)制位,并將其對(duì)應(yīng)的二進(jìn)制位置設(shè)置為1.
- 去重操作:
- 可以通過Bitmap來進(jìn)行重復(fù)的數(shù)據(jù)去重,需要將驅(qū)蟲的數(shù)據(jù)的Hash值作為Bitmap的key
- 將數(shù)據(jù)的ID或者表示作為Bitmao對(duì)應(yīng)的二進(jìn)制位,1表示已經(jīng)存在,0表示不存在
- 日活、月活UV統(tǒng)計(jì),簽到統(tǒng)計(jì),用戶點(diǎn)贊,訪問次數(shù),在線用戶等。