1. 程式人生 > >redis 第 7 篇 Redis資料型別----Set

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“