Redis数据结构:集合



集合只会存储非重复元素且无序。



数据结构

  • 集合


redis探活 redissom_redis探活



集合(set)

  • 将元素添加到集合
    1.sadd命令  格式:sadd key member [member …]
    返回添加成功的元素的数量,元素重复时忽略。
    sadd key member [member ...]
  • redis探活 redissom_redis_02

  • 从集合中移除元素
    1.srem命令  格式:srem key member [member …]
    移除元素,返回被移除的元素个数。
    srem key member [member ...]
  • redis探活 redissom_数据结构_03

  • 2.spop命令  格式:spop key [count]
    随机移除count个元素,没有给定count默认移除一个元素,执行成功返回被移除的元素,count为负时返回error。
    spop key [count]
  • redis探活 redissom_数据库_04

  • 移动元素
    1.smove命令  格式:smove source destination member
    将元素从一个集合移到另一个集合,执行成功返回1,否则返回0,当元素在目标集合中存在时也返回1。
    smove source destination member
  • redis探活 redissom_redis_05

  • 获取集合包含的元素
    1.smembers命令  格式:smembers key
    获取集合包含的所有元素。
    smembers key
  • redis探活 redissom_redis_06

  • 2.srandmember命令  格式:srandmember key [count]
    随机获取指定数量的元素,没有给定count默认获取一个元素。count大于集合元素个数时返回所有,count为负时返回|count|个元素且允许重复。
    srandmember key [count]
  • redis探活 redissom_redis探活_07

  • 获取集合的元素个数
    1.scard命令  格式:scard key
    返回集合包含的元素数量
    scard key
  • redis探活 redissom_数据库_08

  • 检查元素是否存在于集合
    1.sismember命令  格式:sismember key member
    返回1表示元素存在于集合,返回0表示不存在。
    sismember key member
  • redis探活 redissom_redis_09

  • 运算
    1.交集
     1)sinter命令  格式:sinter key [key …]
    返回交集包含的元素。
    sinter key [key ...]
  • redis探活 redissom_数据结构_10

  •  2)sinterstore命令  格式:sinterstore destination key [key …]
    将交集存储到指定的destination集合,若destination已存在将先删除其包含元素再存储,执行完毕后返回被存储的交集元素数量。
    sinterstore destination key [key ...]
  • redis探活 redissom_并集_11

  • 2.并集
     1)sunion命令  格式:sunion key [key …]
    返回并集包含的元素。
    sunion key [key ...]
  • redis探活 redissom_redis_12

  •  2)sunionstore命令  格式:sunionstore destination key [key …]
    将并集存储到指定的destination集合,若destination已存在自动覆盖,执行完毕后返回被存储的并集元素数量。
    sunionstore destination key [key ...]
  • redis探活 redissom_redis探活_13

  • 3.差集
     1)sdiff命令  格式:sdiff key [key …]
    从第一个key中获取差集并返回差集包含的元素。
    sdiff key [key ...]
  • redis探活 redissom_数据结构_14

  •  2)sdiffstore命令  格式:sdiffstore destination key [key …]
    将差集存储到指定的destination集合,若destination已存在自动覆盖,执行完毕后返回被存储的差集元素数量。
    sdiffstore destination key [key ...]
  • redis探活 redissom_redis探活_15

  • 常见用法
    1.唯一计数器(对同一个对象只进行一次计数)
    2.标签组
    3.点赞功能、投票功能
    4.抽奖(随机获取元素)
    5.共同关注
    6.商品筛选(类别交集)