Redis-五大数据类型-Set(集合)

本文介绍了Redis中的Set数据类型,它是一种自动排重的无序集合,具有O(1)的添加、删除和查找效率。文章详细列举了Set的常用命令及其功能,如添加成员、删除元素、查询集合大小等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

五大数据类型-Set(集合)


简介

与List类似是一个列表功能,但Set是自动排重的,当需要存储一个列表数据,又不希望出现重复数据时,Set是一个很好的选择。

Set是String类型的无序集合,它底层其实是一个value为null的hash表,所以添加、删除、查找的时间复杂度都是O(1)。

一般来说,一个算法如果是O(1),随着数据增加,查找数据的时间不变。

集合中最大的成员数为232−12^{32}-12321( 每个集合超过40亿个元素)。

常用命令

敲命令前先清除所有key和values

FLUSHALL

在这里插入图片描述

  1. sadd key value1 value2……将一个或多个元素添加到集合key中,已经存在的元素将被忽略。

    sadd k1 v1 v2 v2 v3 v4 v5 v6向集合中添加值,最终只有v1 v2 v3 v4 v5 v6
    

    在这里插入图片描述

  2. smembers key取出该集合的所有元素。

    smembers k1
    

    在这里插入图片描述

  3. srandmember key count随机取出集合中count个元素,但不会删除。

    srandmember k1 2 随机取出集合中的2个元素
    

    在这里插入图片描述

  4. sismember key value判断集合key中是否含有value元素,如有返回1,否则返回0。

    sismember k1 v1
    

    在这里插入图片描述

  5. scard key返回该集合的元素个数。

    scard k1
    

    在这里插入图片描述

  6. smove sourcekey destinationkey value将value元素从sourcekey集合移动到destinationkey集合中。

    如果 sourcekey集合不存在或不包含指定的 value元素,则 smove 命令不执行任何操作,仅返回 0。

    smove k1 k2 v5 将元素v5从集合k1中移动到集合k2
    

    在这里插入图片描述

  7. srem key value1 value2……删除集合中的一个或多个成员元素,不存在的成员元素会被忽略。

    srem k1 v1 v2 删除v1 v2
    

    在这里插入图片描述

  8. spop key随机删除集合中一个元素并返回该元素。

    spop k1 随机删除一个元素,并返回
    

    在这里插入图片描述

  9. sinter key1 key2返回两个集合的交集元素。

    sadd k1 v1 v2 v3 v4 v5 v6	往k1添加值
    sadd k2 v5 v6	往k2添加值
    smembers k1	查看k1的值
    smembers k2	查看k2的值
    
    sinter k1 k2
    

    在这里插入图片描述

    在这里插入图片描述

  10. sunion key1 key2返回两个集合的并集元素。

    sunion k1 k2
    

    在这里插入图片描述

  11. sdiff key1 key2返回两个集合的差集元素(key1中的,不包含key2)

    在这里插入图片描述

    sdiff k2 k1 返回v4 v5
    

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue刂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值