一架梯子,一头程序猿,仰望星空!

golang redis 集合(set)


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)