一纺蛆、結(jié)構(gòu)圖
二數(shù)據(jù)結(jié)構(gòu)詳解
1.String結(jié)構(gòu)
這種結(jié)構(gòu)是我們最常用的算利,一個(gè)key對(duì)應(yīng)一個(gè)value,很多一些對(duì)象也可以序列化后存入证薇;
使用場(chǎng)景:
(1)單值緩存 set度苔、mset等命令
(2)原子數(shù)量加減 incr、decr浑度、incrby林螃、decrby 等命令
(3)分布式鎖 setnx
2.Hash結(jié)構(gòu)
本身就是一種鍵值對(duì)結(jié)構(gòu)
使用場(chǎng)景:
(1)緩存對(duì)象,對(duì)象類型作為key俺泣,字段+id作為field疗认,值作為value
(2)購(gòu)物車場(chǎng)景,用戶id為key伏钠,商品id為field横漏,數(shù)量為value
優(yōu)點(diǎn):
(1)同類數(shù)據(jù)歸類整合存儲(chǔ),方便管理
(2)相比String消耗內(nèi)存CPU更小
(3)相比String存儲(chǔ)更節(jié)省空間
缺點(diǎn):
(1)過(guò)期功能不能使用在field上熟掂,只能使用在key上
(2)Redis集群架構(gòu)下不適合大規(guī)模使用缎浇,容易出現(xiàn)數(shù)據(jù)分布問(wèn)題
3.List結(jié)構(gòu)
說(shuō)白了也就是雙端鏈表結(jié)構(gòu),是有序的赴肚,value可以重復(fù)素跺,兩端都可以拿取或者插入數(shù)據(jù)
使用場(chǎng)景:
(1)常用的數(shù)據(jù)結(jié)構(gòu),棧誉券、隊(duì)列指厌、阻塞隊(duì)列
(2)微博這種時(shí)間軸消息結(jié)構(gòu)
4.Set結(jié)構(gòu)
無(wú)序集合,value不可以重復(fù)踊跟,支持集合間的操作(差集踩验、并集、交集等)
使用場(chǎng)景:
(1)給用戶加標(biāo)簽
(2)抽獎(jiǎng)
(3)點(diǎn)贊商玫,收藏等
5.ZSset結(jié)構(gòu)
和集合的特性差不多箕憾,不能重復(fù);區(qū)別是這個(gè)集合是有序的拳昌,根據(jù)每個(gè)元素設(shè)置的分值來(lái)進(jìn)行元素間的排序
使用場(chǎng)景:排行榜等