本篇內容主要講解“Redis集合類型的常用命令整理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Redis集合類型的常用命令整理”吧!
Redis常用命令整理集合類型
增加刪除命令
sadd key member [ member .... ]
sadd 命令用來向集合中增加一個或多個元素,如果鍵不存在則會自動創建。因為在一個集合中不能有相同的元素,所以如果要加入的元素已經存在與集合中就會忽略這個元素。返回值是成功加入的元素數量(忽略的元素不計算在內)
srem key member [ member .... ]
srem 命令用來從集合中刪除一個或多個元素,并返回刪除成功的個數。
獲得集合中的所有元素
smembers key
返回集合中的所有元素
判斷元素是否在集合中
sismember key member
判斷一個元素是否在集合中是一個時間復雜度為 0(1) 的操作,無論集合中有多少個元素, sismember 命令始終可以極快的返回結果。當值存在時 sismember 命令返回 1 ,當值不存在或者鍵不存在時返回 0
集合間運算
sdiff key [ key ...... ]
sdiff 命令用來對多個集合執行差集運算。集合 A 與集合 B 的差集表示為 A- B ,代表所有屬于 A 且不屬于 B 的元素構成的集合,即
A - B = { x| x∈A 且 x ∈/B }
命令使用方法:
sadd seta 1 2 3 4 6 7 8
sadd setb 2 3 4
sdiff seta setb
該命令支持同時傳入多個鍵, 計算順序是先計算 seta 和 setb 在計算結果與 setc 的差集
sadd setc 2 3 4
sdiff seta setb setc
sinter key [ key ..... ]
該命令用來對多個集合執行交集運算。集合 A 與集合 B 的交集表示為 A∩B,代表所有屬于 A 且屬于 B 的元素構成的集合
即 A∩B = { x| x∈A 且 x ∈B }
命令使用方法:
sinter seta setb
該命令同樣支持同時傳入多個鍵
sunion key [ key ...... ]
該命令用來對多個集合執行并集運算。集合 A 與集合 B的并集表示為 A∪B ,代表所有屬于A或所有屬于B的元素構成的集合
即 A∪B = { x| x∈A 或 x ∈B }
命令使用方法:
sunion seta setb
該命令同樣支持同時傳入多個鍵
獲得集合中元素的個數
scard key
返回集合的基數。當 key 不存在時,返回 0 。
進行集合運算并將結果存儲
sdiffstore destination key [ key ...... ]
sdiffstore 命令和 sdiff 命令功能一樣,唯一的區別就是前者不會直接返回運算的結果,而是將結果存在 destination 鍵中
sinterstore destination key [ key ...... ]
sinterstore 這個命令類似于 sinter 命令,但它將結果保存到 destination 集合,而不是簡單地返回結果集。
sunionstore destination key [ key ...... ]
sunionstore 這個命令類似于 sunion 命令,但它將結果保存到 destination 集合,而不是簡單地返回結果集。
隨機獲得集合中的元素
srandmember key [ count ]
該命令用來隨機從集合中獲取一個元素
還可以傳遞 count 參數來一次隨機獲得多個元素,根據 count 的正負不同,具體表現也不同
當count 為正數時,srandmember 會隨機獲取從集合里獲得 count 個不重復的元素。如果 count 的值大于集合中的元素個數,則srandmember 會返回集合中的全部元素
當 count 為負數時,srandmember 會隨機從集合中獲得 |count| 個的元素,這些元素有可能相同
注:當傳遞count 參數時,在windows環境下提示命令參數錯誤
從集合中彈出一個元素
spop key
由于集合類型的元素是無序的,所以 spop 命令會從集合中隨機選擇一個元素彈出,返回值為被移除的隨機元素,如果 key 不存在或者key 為空集時,返回 nil。
到此,相信大家對“Redis集合類型的常用命令整理”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。