Redis数据类型之Set类型

    技术2025-07-13  12

    定义

    Redis抵御Set是String类型的无序集合,集合成员是唯一的,无重复数据,唯一且数据无序。 redis中集合是通过哈希表实现的,set是通过hashtable实现的,集合中最大成员数为2^32-1(每个集合可存储40多亿个成员),类似于java中的HashTable集合。

    常用语法命令

    赋值: 向集合添加 一个或多个成员

    SADD key member1 [member2]

    取值: 1、获取集合的成员数

    SCARD key

    2、返回集合中的所有成员

    SMEMBERS key

    3、判断member元素是否是集合key的成员

    SISMEMBER key member

    4、返回集合中一个或多个随机数

    SRANDMEMBER key [count]

    删除: 1、移除集合中一个或多个成员

    SREM key member1 [member2]

    2、移除并返回集合中的一个随机元素

    SPOP key [count]

    3、将member元素从source集合移动到destination集合

    SMOVE source destination member

    差集: 1、返回给定所有集合的差集(左侧)

    SDIFF key1 [key2]

    2、返回给定所有集合的差集并存储在 destination 中

    SDIFFSTORE destination key1 [key2]

    交集: 1、返回给定所有集合的交集(共有数据)

    SINTER key1 [key2]

    2、返回给定所有集合的交集并存储在 destination 中

    SINTERSTORE destination key1 [key2]

    并集: 1、返回所有给定集合的并集

    SUNION key1 [key2]

    2、所有给定集合的并集存储在 destination 集合中

    SUNIONSTORE destination key1 [key2]

    应用场景

    常应用于:对两个集合间的数据计算进行交集并集、差集运算 1、利用集合操作,可以取不同兴趣圈子的交集,以方便的实现如共同关注、共同喜好、共同好友等功能 2、利用唯一性,可以统计访问网站的所有独立ip,存取当天的活跃用户列表

    Processed: 0.013, SQL: 9