redis的set类型(集合)是string类型数值的无序集合,并且集合元素唯一。

下面介绍go redis的集合用法。

go redis 集合(set)常用函数列表:

SAdd - 添加集合元素
SCard - 获取集合元素个数
SIsMember - 判断元素是否在集合中
SMembers - 获取集合中所有的元素
SRem - 删除集合元素
SPop,SPopN - 随机返回集合中的元素,并且删除返回的元素
1.SAdd
添加集合元素

// 添加100到集合中
err := client.SAdd("key",100).Err()
if err != nil {
    panic(err)
}

// 将100,200,300添加到集合中
client.SAdd("key",100, 200, 300)

2.SCard
获取集合元素个数

size, err := client.SCard("key").Result()
if err != nil {
    panic(err)
}
fmt.Println(size)

3.SIsMember
判断元素是否在集合中

// 检测100是否包含在集合中
ok, _ := client.SIsMember("key", 100).Result()
if ok {
    fmt.Println("集合包含指定元素")
}

4.SMembers
获取集合中所有的元素

es, _ := client.SMembers("key").Result()
// 返回的es是string数组
fmt.Println(es)

5.SRem
删除集合元素

// 删除集合中的元素100
client.SRem("key", 100)

// 删除集合中的元素tizi和2019
client.SRem("key", "tizi", "2019")

6.SPop,SPopN
随机返回集合中的元素,并且删除返回的元素

// 随机返回集合中的一个元素,并且删除这个元素
val, _ := client.SPop("key").Result()
fmt.Println(val)

// 随机返回集合中的5个元素,并且删除这些元素
vals, _ := client.SPopN("key", 5).Result()
fmt.Println(vals)