Redis Set结构以及操作命令
sadd key value1 value2 往集合key中增加元素
127.0.0.1:6379> sadd userlist a b c d e f a
(integer) 6
127.0.0.1:6379> sadd userlist b c g
(integer) 1
127.0.0.1:6379> smembers userlist
1) "a"
2) "b"
3) "d"
4) "f"
5) "c"
6) "g"
7) "e"
srandmember key 返回集合key中,随机的1个元素.
127.0.0.1:6379> srandmember userlist
"c"
127.0.0.1:6379> srandmember userlist
"c"
127.0.0.1:6379> srandmember userlist
"b"
127.0.0.1:6379> srandmember userlist
"f"
smembers key 返回集合中所有的元素.
127.0.0.1:6379> smembers userlist
1) "a"
2) "b"
3) "d"
4) "f"
5) "c"
6) "g"
7) "e"
srem key value1 value2 删除集合中集为 value1 value2的元素,并返回【忽略不存在的元素后,真正删除掉的元素的个数】
127.0.0.1:6379> srem userlist a e
(integer) 2
127.0.0.1:6379> smembers userlist
1) "b"
2) "d"
3) "f"
4) "c"
5) "g"
spop key 返回并删除集合中key中1个随机元素
127.0.0.1:6379> spop userlist
"b"
127.0.0.1:6379> spop userlist
"c"
127.0.0.1:6379> spop userlist
"g"
127.0.0.1:6379> smembers userlist
1) "d"
2) "f"
sismember key value 判断value是否在key集合中 是返回1,否返回0
127.0.0.1:6379> smembers userlist
1) "d"
2) "f"
127.0.0.1:6379> sismember userlist a
(integer) 0
127.0.0.1:6379> sismember userlist d
(integer) 1
scard key 返回集合中元素的个数
127.0.0.1:6379> scard userlist
(integer) 2
smove source dest value 把source中的value删除,并添加到dest集合中
127.0.0.1:6379> sadd upper a B C D
(integer) 4
127.0.0.1:6379> sadd lower A b c d
(integer) 4
127.0.0.1:6379> smove upper lower a
(integer) 1
127.0.0.1:6379> smembers upper
1) "B"
2) "D"
3) "C"
127.0.0.1:6379> smembers lower
1) "c"
2) "b"
3) "A"
4) "d"
5) "a"
127.0.0.1:6379> smove lower upper A
(integer) 1
127.0.0.1:6379> smembers lower
1) "d"
2) "b"
3) "a"
4) "c"
127.0.0.1:6379> smembers upper
1) "A"
2) "B"
3) "D"
4) "C"
127.0.0.1:6379>
sinter key1 key2 key3 求出key1 key2 key3 三个集合中的交集,并返回
127.0.0.1:6379> sadd zhang Wuhan 18 male
(integer) 3
127.0.0.1:6379> sadd wang Wuhan 19 male
(integer) 3
127.0.0.1:6379> sadd zhao Wuhan 19 male
(integer) 3
127.0.0.1:6379> sinter zhang wang zhao
1) "Wuhan"
2) "male"
sunion key1 key2 &emsp 求出key1 key2 的并集,并返回
127.0.0.1:6379> sunion zhang wang zhao
1) "Wuhan"
2) "18"
3) "19"
4) "male"
sdiff key1 key2 key3 求出key1与key2 key3的差集
127.0.0.1:6379> sadd zhang Wuhan 18 male
(integer) 3
127.0.0.1:6379> sadd wang Wuhan 19 male
(integer) 3
127.0.0.1:6379> sdiff zhang wang
1) "18"
sinterstore dest key1 key2 key3 求出key1 key2 key3 三个集合中的交集,并赋给dest
127.0.0.1:6379> sinterstore same zhang wang zhao
(integer) 2
127.0.0.1:6379> smembers same
1) "Wuhan"
2) "male"