一、集合型別的常用操作是向集合中加入或刪除元素、判斷某個元素是否存在。
1.增加/刪除元素
sadd/srem key member [member ...]
redis 127.0.0.1:6379> sadd letters a
(integer) 1
redis 127.0.0.1:6379> sadd letters a b c
(integer) 2 // 因為'a'已經存在,所以實際上只加入了兩個元素。
sadd用來向集合中增加乙個或多個元素,如果鍵不存在則會自動建立。
redis 127.0.0.1:6379> srem letters c d //srem刪除乙個或多個元素,'d'不存在,只刪除了乙個元素。返回為刪除成功的個數。
(integer) 1
2.獲得集合中所有的元素
smembers key ;;會返回集合中的所有元素
redis 127.0.0.1:6379> smembers letters
1) "a"
2) "b"
3.判斷元素是否在集合中
sismember key member ;;當值存在時sismember返回1,當值不存在或者鍵不存在時返回0.
redis 127.0.0.1:6379> sismember letters a
(integer) 1
redis 127.0.0.1:6379> sismember letters d
(integer) 0
4.集合間運算
sdiff key [key...] //集合間的差
sinter key [key...] //集合間的交集
sunion key [key...] //集合間的並集
5.獲得集合中元素個數
scard key
redis 127.0.0.1:6379> smembers letters
1) "a"
2) "b"
redis 127.0.0.1:6379> scard letters
(integer) 2 //集合中元素個數為2個。
6.進行集合運算並將結果儲存
sdiffstore destination key [key ...]
sinterstor destination key [key ...]
sunionstroe destination key [key ...]
sdiff命令只會顯示兩個交集差的結果,但是不儲存。而sdiffstore會將差的結果進行儲存。
7.隨機獲得集合中的元素
srandmember key [count]
redis 127.0.0.1:6379> srandmember letters
"a"隨機從集合中獲取乙個元素。
二、有序集合
java基礎 二 集合
集合 集合的頂層介面iterator 單列集合的頂層介面collection 雙列集合的頂層介面map arraylist 底層實現是陣列 查詢快 增刪比較慢 預設大小是10 擴容為1.5 元素可重複 linkedlist 底層是鍊錶 查詢慢 增刪快 元素可重複 hashset 底層實現是hashm...
Redis學習(七) 集合型別(Set)
集合中的每個元素都是不同的,且沒有順序。集合在redis內部是使用值為空的雜湊表實現的。所以向集合中加入 刪除元素 判斷某個元素是否存在的時間複雜度都是o 1 多個集合之間還可以進行交集 並集和差集運算。1.多條件查詢 1.增加 刪除元素 sadd key member member 返回成功加入的...
資料結構(二) 集合 字典
集合 es6 set 無序且唯一。與陣列的區別,無序可重複。leetcode 349.var arr 1,2,2,3 const set new set arr 去重 const newarr set set.add add data set.delete del data set.has 2 tr...