(六)redis常用命令之set

  • 概述
    集合类型(set)也是用来保存多个字符串元素的,和列表不一样的是,集合不允许有重复元素,并且集合中元素是无序的,不能像list那样通过下标来获取元素。但是集合不仅可以提供内部增删改查操作,而且提供多个集合之间的运算,也就是和外部集合的计算。

  • sadd命令(添加多个元素)
    格式:sadd key element [element …]
    在这里插入图片描述

  • srem命令(删除set中多个指定元素—>这个和list的一个命令lrem很像,但是lrem中有count(可重复)的概念)
    格式:srem key element [element …]
    在这里插入图片描述

  • scard命令(计算set中元素的个数)
    格式:scard key
    在这里插入图片描述
    注意:这个命令的时间复杂度为O(1), redis直接使用一个变量记录集合长度,不需要遍历整个集合

  • sismember命令(判断元素是否在集合中 1表示在,否则返回0)
    格式:sismember key element
    在这里插入图片描述

  • srandmember 命令(从集合中随机返回指定个数元素)
    格式: srandmember key [count]
    在这里插入图片描述
    注意:如果集合中的元素总个数小于count,那么返回的元素个数会少于count个

  • spop命令(从集合中随机返回一个元素,但是会删除)
    格式: spop key
    在这里插入图片描述
    注意:spop和srandmember都是从集合中返回元素,spop返回一个会删除;srandmember会返回多个不删除;redis 3.2版本后spop支持count参数

  • smembers命令(返回所有元素)
    格式:smembers key
    在这里插入图片描述

  • sinter命令(多个集合做交交集)
    格式:sinter key [key…]
    在这里插入图片描述

  • sunion命令(多个集合的并集)
    格式: suinon key [key…]
    在这里插入图片描述

  • sdiff命令(多个集合的差集)
    格式:sdiff key [key…]
    在这里插入图片描述

  • 内部编码
    intset(整数集合):当集合中的元素都是整数且元素个数小于set-max-intset-entries,使用这种编码方式
    hashtable(哈希表):当不满足上面条件时,那么会使用hashtable
    在这里插入图片描述
    在这里插入图片描述

  • 使用场景
    1.标签

发布了65 篇原创文章 · 获赞 11 · 访问量 7162

猜你喜欢

转载自blog.csdn.net/weixin_38312719/article/details/95042167