07.集合(Set)操作

  1. set 是 string 类型的无序集合。

  2. set 是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

  3. 集合成员是唯一的,不能出现重复的数据。

下表列出了 Redis 集合相关命令

命令 描述
SADD 向集合添加一个或多个成员
SCARD 获取集合的成员数
SDIFF 返回给定所有集合的差集
SDIFFSTORE 返回给定所有集合的差集并存储在 destination 中
SINTER 返回给定所有集合的交集
SISMEMBER 判断 member 元素是否是集合 key 的成员
SMEMBERS 返回集合中的所有成员
SMOVE 将 member 元素从 source 集合移动到 destination 集合
SPOP 移除并返回集合中的一个随机元素
SRANDMEMBER 返回集合中一个或多个随机数
SREM 移除集合中一个或多个成员
SUNION 返回所有给定集合的并集
SUNIONSTORE 所有给定集合的并集存储在 destination 集合中
SSCAN 迭代集合中的元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
127.0.0.1:6379> sadd skill golang
(integer) 1
127.0.0.1:6379> sadd skill java
(integer) 1
127.0.0.1:6379> sadd skill python
(integer) 1
127.0.0.1:6379> sadd skill java
(integer) 0

127.0.0.1:6379> sadd skill2 rust
(integer) 1
127.0.0.1:6379> sadd skill2 golang
(integer) 1
127.0.0.1:6379> sadd skill2 typescript
(integer) 1

127.0.0.1:6379> smembers skill
1) "python"
2) "java"
3) "golang"

127.0.0.1:6379> smembers skill2
1) "typescript"
2) "golang"
3) "rust"

127.0.0.1:6379> scard skill
(integer) 3

127.0.0.1:6379> SISMEMBER skill golang
(integer) 1

127.0.0.1:6379> sinter skill skill2
1) "golang"

127.0.0.1:6379> sdiff skill skill2
1) "python"
2) "java"

127.0.0.1:6379> sunion skill skill2
1) "golang"
2) "python"
3) "java"
4) "rust"
5) "typescript"

通过 SADD 命令向名为 skill 的集合插入的三个元素。java 添加 2 次,但是集合中仍然只有一个。


如何学以致用,在哪些场景中应用Redis

《Go语言+Redis实战课》

Go语言+Redis实战课-课程大纲 《Go语言+Redis实战课》课程+优惠券合并照片
添加微信 公众号更多内容
wechat gzh