Redis的基本类型之一:Set
2020-07-11 本文已影响0人
程序员小杰
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的。
1、sadd key member1 [member2]
向集合添加一个或多个成员
127.0.0.1:6379> sadd k1 a b c a
(integer) 3
2、smembers key
返回集合中的所有成员
127.0.0.1:6379> smembers k1
1) "c"
2) "b"
3) "a"
3、scard key
获取集合的成员数
127.0.0.1:6379> scard k1
(integer) 3
4、sismember key member
判断 member 元素是否是集合 key 的成员
127.0.0.1:6379> sismember k1 a
(integer) 1 #返回1代表就是
127.0.0.1:6379> sismember k1 d
(integer) 0 #0代表不是
5、srem key member1 [member2
移除集合中一个或多个成员
127.0.0.1:6379> srem k1 a
(integer) 1
127.0.0.1:6379> smembers k1
1) "c"
2) "b"
6、spop key [count]
移除并返回集合中的一个或者多个随机元素
127.0.0.1:6379> sadd k1 a d e f
(integer) 4
127.0.0.1:6379> smembers k1
1) "d"
2) "a"
3) "b"
4) "e"
5) "f"
127.0.0.1:6379> spop k1
"a"
127.0.0.1:6379> smembers k1
1) "b"
2) "d"
3) "e"
4) "f"
127.0.0.1:6379> spop k1 2
1) "f"
2) "d"
127.0.0.1:6379> smembers k1
1) "b"
2) "e"
7、srandmember key [count]
返回集合中一个或多个随机数,并不会移除元素
127.0.0.1:6379> srandmember k1
"e"
8、smove source destination member
将 member 元素从 source 集合移动到 destination 集合(destination 可以不存在)
127.0.0.1:6379> smove k1 k2 a
(integer) 1
9、sdiff key1 [key2]
返回给定所有集合的差集(受集合先后顺序的影响)
127.0.0.1:6379> sdiff k1 k2
1) "b"
2) "k1"
3) "d"
4) "c"
5) "e"
6) "f"
127.0.0.1:6379> sdiff k2 k1
1) "a"
10、sinter key1 [key2]
返回给定所有集合的交集
127.0.0.1:6379> sinter k2 k1
(empty list or set)
127.0.0.1:6379> sadd k2 b k1
(integer) 2
127.0.0.1:6379> sinter k2 k1
1) "k1"
2) "b"
11、sdiffstore destination key1 [key2]
返回给定所有集合的差集并存储在 destination中
127.0.0.1:6379> sdiffstore k3 k1 k2
(integer) 4
127.0.0.1:6379> smembers k3
1) "c"
2) "d"
3) "e"
4) "f"
12、sinterstore destination key1 [key2]
返回给定所有集合的交集并存储在 destination 中
127.0.0.1:6379> sinterstore k4 k1 k2
(integer) 2
127.0.0.1:6379> smembers k4
1) "b"
2) "k1"
13、sunion key1 [key2]
返回所有给定集合的并集
127.0.0.1:6379> sunion k1 k2
1) "d"
2) "k1"
3) "b"
4) "c"
5) "a"
6) "e"
7) "f"
14、sunionstore destination key1 [key2]
所有给定集合的并集存储在 destination 集合中
127.0.0.1:6379> sunionstore k5 k1 k2
(integer) 7
127.0.0.1:6379> smembers k5
1) "d"
2) "k1"
3) "b"
4) "c"
5) "a"
6) "e"
7) "f"
15、sscan key cursor [MATCH pattern] [COUNT count]
迭代集合中的元素
cursor - 游标。
pattern - 匹配的模式。
count - 指定从数据集里返回多少元素,默认值为 10 。
127.0.0.1:6379> sadd k6 gongj yuanj gong yuan
(integer) 4
127.0.0.1:6379> sscan k6 0 match g*
1) "0"
2) 1) "gong"
2) "gongj"
127.0.0.1:6379> sscan k6 1 match g*
1) "0"
2) 1) "gongj"
127.0.0.1:6379>
以上所以只是均来自于大佬江南一点雨
。
个人博客:http://www.javaboy.org/