zoukankan      html  css  js  c++  java
  • 【Redis】redis基本数据结构之Set

    我的个人博客:https://www.wuyizuokan.com

    简介:

    Set类似于Java中的HashSet,实际上是一个比较特殊的Map,所有的value都为null。Set结构和Java中一样,有自动去重的功能,在一些需要去重的场景下可以使用。

    操作:

    添加元素:sadd setName value

    移除元素:srem setName value

    查看set中所有元素 smember setName

    随机返回删除的元素:spop setName [count] // count为弹出的元素的个数

    加上个数:

    取后续集合中没有,但第一个集合中存在的元素:sdiff set1Name set2Name .....:

     

    取后续集合中没有,但第一个集合中存在的元素,并放入到指定的集合中:sdiffstore dstSet set1Name set2Name set3Name ....:

    取交集,sinter set1Name set2Name ...

    取交集,结果放入一个指定的集合中:sinterstore dstSet set1Name set2Name ...

     

    取并集,sunion payList promotionList

     取并集,结果放入一个指定的集合中:sunionstore dstSet set1Name set2Name ...

    将一个集合中的元素移动到另外一个集合中:smove srcSet dstSet value

    获取集合的大小,scard setName:

    判断元素是否是该集合中的,sismember setName value:

    下面编写一段Go代码来操作Set结构:

    package main
    
    import (
    	"github.com/garyburd/redigo/redis"
    	"fmt"
    )
    
    func main(){
    	// 连接redis
    	conn,err := redis.Dial("tcp", "localhost:6379")
    	if err != nil {
    		fmt.Errorf("connection redis failed. error info: ", err)
    		return
    	}
    
    	_,err = conn.Do("sadd", "payList", "zhangfei", "machao", "liubei", "guanyu")
    	if err != nil {
    		fmt.Errorf("sadd operation is failed. error info: ", err)
    		return
    	}
    
    	_, err = conn.Do("srem", "payList", "zhangfei")
    	if err != nil {
    		fmt.Errorf("srem operation is failed. error info: ", err)
    		return
    	}
    
    	name, err1:= redis.String(conn.Do("spop", "payList"))
    	if err1 != nil {
    		fmt.Errorf("spop operation is failed. error info: ", err1)
    		return
    	}
    	fmt.Println("the spop get value: ", name)
    
    
    	defer conn.Close()
    }
    

      

    运行效果:

  • 相关阅读:
    Python中判断字典的键或值在不在字典中
    Python中字符串,列表,元组三者之间相互转换
    mysql /*! */
    【kubernetes入门学习】使用minikube创建k8s本地单节点集群
    Java中发生内存泄漏的常见场景
    python的list()列表数据类型的方法详解
    python的str()字符串类型的方法详解
    python的运算符
    python基础之while语句continue以及break --语法以及案例
    python的if条件语句的语法和案例
  • 原文地址:https://www.cnblogs.com/wuyizuokan/p/11080074.html
Copyright © 2011-2022 走看看