Redis研究(六)—集合類型,redis研究集合類型

來源:互聯網
上載者:User

Redis研究(六)—集合類型,redis研究集合類型

一、介紹

一個集合類型(set)鍵可以儲存至多2^32-1個字串。

集合類型在Redis內部是使用值為空白的散列表(hash table)實現的,所以操作的複雜度為O(1)。多個集合類型鍵之間還可以進行並集、交集和差集運算。


二、命令

1.增加/刪除元素

sadd key membersrem key member

sadd用來向集合中增加一個或者多個元素,如果鍵不存在則會自動建立。一個集合中不能有相同的元素,所以如果要加入的元素已經存在於集合中就會忽略這個元素。本命令的返回值是成功加入的元素數量。

第二條sadd命令返回2,因為a已經存在,實際上只加入兩個元素。

srem用來從集合中刪除一個或者多個元素,並返回刪除成功的個數,

由於d在集合中不存在,所以只刪除了一個元素,返回值為1.


2.獲得集合中的所有元素

smembers key

返回集合所有元素


3.判斷元素是否在集合中

sismember key member

時間複雜度O(1),無論有多少個元素。


4.集合之間運算

sdiff keysinter keysunion key

(1)sdiff差集運算,A-B,屬於A但不屬於B

sdiff支援同時傳入多個鍵

順序先計算setA-setB,再計算結果與setC的差集。

(2)sinter交集運算

sinter同樣支援同時傳入多個鍵。

(3)sunion並集運算。

sunion同樣支援同時傳入多個鍵。


三、命令拾遺

1.獲得集合中元素個數


scard key

2.進行集合運算並將結果儲存

sdiffstore destination keysinterstore destination keysunionstore destination key

和sdiff功能一樣,唯一區別前者不會直接返回運算結果,而是將結果儲存在destination鍵中。


3.隨機獲得集合中的元素

srandmember key [count]

count參數一次隨機獲得多個元素。

(1)count正數,獲得count個不重複的元素,當大於集合元素個數,返回集合全部元素

(2)count負數,絕對值個元素,可能相同。


4.從集合中彈出一個元素

spop key

從集合中隨機播放一個元素彈出。


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.