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/

image.png
上一篇下一篇

猜你喜欢

热点阅读