1、介紹
1個(gè)集合類型(set)鍵可以存儲(chǔ)最多2^32⑴個(gè)字符串。
集合類型在Redis內(nèi)部是使用值為空的散列表(hash table)實(shí)現(xiàn)的,所以操作的復(fù)雜度為O(1)。多個(gè)集合類型鍵之間還可以進(jìn)行并集、交集和差集運(yùn)算。
2、命令
1.增加/刪除元素
第2條sadd命令返回2,由于a已存在,實(shí)際上只加入兩個(gè)元素。
srem用來(lái)從集合中刪除1個(gè)或多個(gè)元素,并返回刪除成功的個(gè)數(shù),
由于d在集合中不存在,所以只刪除1個(gè)元素,返回值為1.
2.取得集合中的所有元素
返回集合所有元素
3.判斷元素是不是在集合中
4.集合之間運(yùn)算
sdiff支持同時(shí)傳入多個(gè)鍵
順序先計(jì)算setA-setB,再計(jì)算結(jié)果與setC的差集。
(2)sinter交集運(yùn)算
sinter一樣支持同時(shí)傳入多個(gè)鍵。
(3)sunion并集運(yùn)算。
sunion一樣支持同時(shí)傳入多個(gè)鍵。
3、命令拾遺
1.取得集合中元素個(gè)數(shù)
2.進(jìn)行集合運(yùn)算并將結(jié)果存儲(chǔ)
3.隨機(jī)取得集合中的元素
count參數(shù)1次隨機(jī)取得多個(gè)元素。
(1)count正數(shù),取得count個(gè)不重復(fù)的元素,當(dāng)大于集合元素個(gè)數(shù),返回集合全部元素
(2)count負(fù)數(shù),絕對(duì)值個(gè)元素,可能相同。
4.從集合中彈出1個(gè)元素