Redis操作数据结构-Set
sadd
语法:sadd key member member1 membe2…membern
给集合key中添加元素,如果添加相同元素就会自动过滤
127.0.0.1:6379> sadd users u1
(integer) 1
127.0.0.1:6379> sadd users u2
(integer) 1
127.0.0.1:6379> sadd users u3 u4 u5
smembers
smembers key
返回集合中所有的元素
127.0.0.1:6379> smembers users
1) "u4"
2) "u3"
3) "u2"
4) "u1"
5) "u5"
srem
srem key member member1 member2 …membern
删除集合中的指定的元素也可以删除多个
127.0.0.1:6379> sadd users u1
(integer) 0
127.0.0.1:6379> srem users u1 u2
(integer) 2
127.0.0.1:6379> srem users u3
(integer) 1
sismember
sismember key member
查看一个元素member是否存在当前集合中
127.0.0.1:6379> sismember users u4
(integer) 1
127.0.0.1:6379> sismember users u3
(integer) 0
scard
scard key
返回集合中所有的元素
127.0.0.1:6379> scard users
(integer) 2
127.0.0.1:6379> smembers users
1) "u4"
2) "u5"
smove
smove srckey targetkey member
将srckey集合的元素member移动到targetkey集合中
127.0.0.1:6379> smove users blacklist u1
(integer) 1
127.0.0.1:6379> smove users blacklist u2
(integer) 1
127.0.0.1:6379> smembers blacklist
1) "u2"
2) "u1"
127.0.0.1:6379> scard blacklist
(integer) 2
srandmember
srandmember key
随机返回集合中的一个元素
127.0.0.1:6379> srandmember users 1
1) "u5"
127.0.0.1:6379> srandmember users 2
1) "u3"
2) "u4"
127.0.0.1:6379> smembers users
1) "u4"
2) "u5"
3) "u3"
spop
spop key
随机删除集合中的元素,并返回
127.0.0.1:6379> spop users 1
1) "u3"
127.0.0.1:6379> spop users 1
1) "u4"
127.0.0.1:6379> smembers users
1) "u5"
sinter
sinter key key1 key2 …keyn
求多个集合的交集
127.0.0.1:6379> sadd s1 1 2 3 4 5 a
(integer) 6
127.0.0.1:6379> sadd s2 a b c 2 3 6
(integer) 6
127.0.0.1:6379> sinter s1 s2
1) "3"
2) "a"
3) "2"
sinterstore
sinterstore targetkey key1 key2 …keyn
求多个集合的交集并放入到targetkey集合中
127.0.0.1:6379> sinterstore s3 s1 s2
(integer) 3
127.0.0.1:6379> smembers s3
1) "2"
2) "3"
3) "a"
sunion
sunion key [key1 key2 …keyn]
求多个集合的并集
127.0.0.1:6379> sunion s1 s2
1) "3"
2) "a"
3) "5"
4) "c"
5) "2"
6) "1"
7) "6"
8) "4"
9) "b"
sunionstore
sunionstore targetkey [key1 key2 …keyn]
求多个集合的并集并放入到targetkey集合中
127.0.0.1:6379> sunionstore s4 s1 s2
(integer) 9
127.0.0.1:6379> smembers s4
1) "3"
2) "a"
3) "5"
4) "c"
5) "2"
6) "1"
7) "6"
8) "4"
9) "b"
sdiff
sunion key [key1 key2 …keyn]
求多个集合的差集
127.0.0.1:6379> smembers s1
1) "3"
2) "a"
3) "5"
4) "2"
5) "1"
6) "4"
127.0.0.1:6379> smembers s2
1) "3"
2) "a"
3) "2"
4) "c"
5) "6"
6) "b"
127.0.0.1:6379> sdiff s1 s2
1) "1"
2) "4"
3) "5"
127.0.0.1:6379> sdiff s2 s1
1) "c"
2) "6"
3) "b"
sdiffstore
sdiffstore targetkey [key1 key2 …keyn]
求多个集合的差集 并放入到targetkey集合中
127.0.0.1:6379> sdiffstore s5 s2 s1
(integer) 3
127.0.0.1:6379> smembers s5
1) "c"
2) "6"
3) "b"
本文详细介绍了Redis中Set数据结构的各种操作,包括`sadd`用于添加元素,`smembers`显示所有成员,`srem`删除指定元素,`sismember`检查成员存在性,`scard`获取集合大小,`smove`移动元素至另一集合,`srandmember`随机获取成员,`spop`随机删除并返回成员,`sinter`、`sinterstore`计算交集,`sunion`、`sunionstore`计算并集,以及`sdiff`、`sdiffstore`计算差集。
666

被折叠的 条评论
为什么被折叠?



