Redis研究(六)—集合類型

來源:互聯網
上載者:User

標籤: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

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


Redis研究(六)—集合類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.