redis 第 7 篇 Redis資料型別----Set
集合型別
集合型別:無序、不可重複
列表型別:有序、可重複
命令
增加/刪除元素
語法:SADD key member [member ...]
127.0.0.1:6379> sadd set a b c (integer) 3 127.0.0.1:6379> sadd set a (integer) 0 |
語法:SREM key member [member ...]
127.0.0.1:6379> srem set c d (integer) 1 |
獲得集合中的所有元素
語法:SMEMBERS key
127.0.0.1:6379> smembers set 1) "b" 2) "a” |
判斷元素是否在集合中
語法:SISMEMBER key member
127.0.0.1:6379> sismember set a (integer) 1 127.0.0.1:6379> sismember set h (integer) 0 |
運算命令
集合的差集運算 A-B
屬於A並且不屬於B的元素構成的集合。
語法:SDIFF key [key ...]
127.0.0.1:6379> sadd setA 1 2 3 (integer) 3 127.0.0.1:6379> sadd setB 2 3 4 (integer) 3 127.0.0.1:6379> sdiff setA setB 1) "1" 127.0.0.1:6379> sdiff setB setA 1) "4" |
集合的交集運算 A ∩ B
屬於A且屬於B的元素構成的集合。
語法:SINTER key [key ...]
127.0.0.1:6379> sinter setA setB 1) "2" 2) "3" |
集合的並集運算 A ∪ B
屬於A或者屬於B的元素構成的集合
語法:SUNION key [key ...]
127.0.0.1:6379> sunion setA setB 1) "1" 2) "2" 3) "3" 4) "4" |
其它命令
獲得集合中元素的個數
語法:SCARD key
127.0.0.1:6379> smembers setA 1) "1" 2) "2" 3) "3" 127.0.0.1:6379> scard setA (integer) 3 |
從集合中彈出一個元素
注意:由於集合是無序的,所有SPOP命令會從集合中隨機選擇一個元素彈出
語法:SPOP key
127.0.0.1:6379> spop setA "1“ |