切换数据库:select num
一种无序的字符集合,功能和list相近,但是不能有重复的数据,操作在服务端完成,因此效率极高,而且也节省了大量的网络IO开销。
无序性:集合里面数据是没顺序区分的,无序的。
确定性:集合里面的数据个数是确定的,不能重复。
唯一性:集合中的数据不能彼此重复。
(1):sadd key member [member ... ]:本次操作实际插入的成员数量。
smembers key :查看集合中的成员。
- 127.0.0.1:6379> sadd k1 "Hello"
- (integer) 1
- 127.0.0.1:6379> sadd k1 "World"
- (integer) 1
- 127.0.0.1:6379> sadd k1 "World"
- (integer) 0
- 127.0.0.1:6379> smembers k1
- 1) "World"
- 2) "Hello"
- 127.0.0.1:6379>
(2):scard key:获取set成员的数量,返回set中成员的数量,如果该key不存在,返回0;
- 127.0.0.1:6379> smembers k1
- 1) "World"
- 2) "Hello"
- 127.0.0.1:6379> SCARD k1
- (integer) 2
- 127.0.0.1:6379> SCARD k2
- (integer) 0
- 127.0.0.1:6379>
(3):sismember key member:判断参数中指定成员是否已经存在与key相关联的set集合中,1表示已经存在,0表示不存在或该key本身并不存在;
- 127.0.0.1:6379> SISMEMBER k1 "Hello"
- (integer) 1
- 127.0.0.1:6379> SISMEMBER k1 "World"
- (integer) 1
- 127.0.0.1:6379> SMEMBERS k1
- 1) "World"
- 2) "Hello"
- 127.0.0.1:6379> SISMEMBER k1 "Hi"
- (integer) 0
- 127.0.0.1:6379>
(4):spop key :随机的移除并返回set中的某一成员,由于set中元素的布局不受外部控制,因此无法像list那样确定哪个元素位于set的头部或者尾部,返回移除的成员,如果该key不存在,则返回nil。
- 127.0.0.1:6379> SMEMBERS k1
- 1) "World"
- 2) "Hello"
- 3) "a"
- 4) "c"
- 5) "d"
- 6) "b"
- 127.0.0.1:6379> SPOP k1
- "a"
- 127.0.0.1:6379> SPOP k1
- "d"
- 127.0.0.1:6379> SPOP k1
- "b"
- 127.0.0.1:6379> SPOP k1
- "c"
- 127.0.0.1:6379> SPOP k2
- (nil)
- 127.0.0.1:6379>
(5):srem key member [member...]:从set中实际移除的成员数量,如果没有则返回0,如果该key不是一个集合类型,则返回错误,从集合里删除指定的一个或多个元素。
- 127.0.0.1:6379> SMEMBERS k1
- 1) "one"
- 2) "three"
- 3) "World"
- 4) "two"
- 5) "Hello"
- 127.0.0.1:6379> SREM k1 "one" "two"
- (integer) 2
- 127.0.0.1:6379> SMEMBERS k1
- 1) "three"
- 2) "World"
- 3) "Hello"
- 127.0.0.1:6379>
(6):srandmember key [count]:从集合里面随机获取一个元素;
- 127.0.0.1:6379> SMEMBERS k1
- 1) "three"
- 2) "World"
- 3) "Hello"
- 127.0.0.1:6379> SRANDMEMBER k1
- "Hello"
- 127.0.0.1:6379> SRANDMEMBER k1
- "Hello"
- 127.0.0.1:6379> SRANDMEMBER k1
- "World"
- 127.0.0.1:6379> SRANDMEMBER k1
- "Hello"
- 127.0.0.1:6379> SRANDMEMBER k1
- "three"
- 127.0.0.1:6379> SRANDMEMBER k1
- "Hello"
- 127.0.0.1:6379> SRANDMEMBER k1
(7):smove source destination member :移动集合里面的一个元素到另一个集合,如果source不存在,或者指定的元素不存在,smove命令不会执行任何的操作并且返回0,若destination中以及存在了该元素,那么smove仅会将source中的元素移除,若双方的类型不符合,返回错误。
- 127.0.0.1:6379>
- 127.0.0.1:6379> SMEMBERS k1
- 1) "three"
- 2) "World"
- 3) "Hello"
- 127.0.0.1:6379> SMEMBERS k2
- 1) "one"
- 2) "two"
- 127.0.0.1:6379> SMOVE k1 k2 "three"
- (integer) 1
- 127.0.0.1:6379> SMEMBERS k2
- 1) "one"
- 2) "three"
- 3) "two"
- 127.0.0.1:6379> sadd k1 "three"
- (integer) 1
- 127.0.0.1:6379> SMOVE k1 k2 "three"
- (integer) 1
- 127.0.0.1:6379> SMEMBERS k1
- 1) "World"
- 2) "Hello"
- 127.0.0.1:6379> SMEMBERS k2
- 1) "one"
- 2) "three"
- 3) "two"
- 127.0.0.1:6379>
(8):sdiff key [key...]:差异结果成员的集合,获得队列不存在的集合;
举例如下:
- key1 = {a,b,c,d}
- key2 = {c}
- key3 = {a,c,e}
- SDIFF key1 key2 key3 = {b,d}
- 127.0.0.1:6379> SMEMBERS key1
- 1) "b"
- 2) "a"
- 3) "c"
- 127.0.0.1:6379>