美文网首页
Redis核心数据结构 - set

Redis核心数据结构 - set

作者: kyo1992 | 来源:发表于2021-04-03 07:57 被阅读0次

    常用操作

    SADD key member [member ...]    // 往集合key存入元素,若已存在则会略
    SREM key member [member ...]    // 从集合key中删除元素
    SMEMBERS key    // 获取集合key中所有元素
    SCARD key    // 获取集合key中所有元素
    SISMEMBER key member    // 判断member元素是否存在于集合key中
    SRANDMEMBER key [count]    // 从集合key中选出count个元素,元素不从key中删除
    SPOP key [count]    // 从集合key中选出count个元素,元素从key中删除

    运算操作

    SINTER key [key ...]    // 交集运算
    SINTERSTORE destination key [key ...] emsp;  // 将交集结果存入新集合destination中
    SUNION key [key ...]    // 并集运算
    SUNIONSTORE destination key [key ...] emsp;  // 将并集结果存入新集合destination中
    SDIFF key [key ...]    // 差集运算
    SDIFFSTORE destination key [key ...] emsp;  // 将差集结果存入新集合destination中

    应用场景

    • 单次抽奖小程序
      1). 点击参与抽奖加入集合
      SADD key {userID}
      2). 查看参与抽奖所有用户
      SMEMBERS key
      3). 抽取3个中奖用户
      SRANDMEMBER key 3 / SPOP key 3

    • 分几等奖多次抽奖
      1). 点击参与抽奖加入集合
      SADD key {userID}
      2). 查看参与抽奖所有用户
      SMEMBERS key
      3). 抽取3个三等奖
      SPOP key 3
      4). 抽取2个二等奖
      SPOP key 2
      5). 抽取1个一等奖
      SPOP key 1

    • 微信微博点赞,收藏,标签

    1. 点赞
      SADD like:{消息ID} {用户ID}
    2. 取消点赞
      SREM like:{消息ID} {用户ID}
    3. 检查用户是否点过赞
      SISMEMBER like:{消息ID} {用户ID}
    4. 获取点赞的用户列表
      SMEMBERS like:{消息ID}
    5. 获取点赞用户数
      SCARD like:{消息ID}
    • 微信微博关注模型
    1. kyo关注的人:
      kyoFocus -> {joe, smith, wallace}
    2. joe关注的人:
      joeFocus -> {kyo, smith, haha}
    3. smith关注的人:
      smithFocus ->{kyo, joe, haha, wallace}
    4. kyo和joe共同关注:
      SINTER kyoFocus joeFocus -> {smith}
    5. kyo关注的人也关注joe:
      SISMEMBER smithFocus joe
      SISMEMBER wallaceFocus joe
    6. kyo可能认识的人:
      SDIFF joeFocus kyoFocus ->{kyo, haha}
    • 商品,电影等推荐系统
    1. kyo看过的电影id:
      kyoMovie -> {m1,m2,m3}
    2. kyo朋友joe看过的电影id:
      joeMovie -> {m3,m4,m5,m6}
    3. 把joe看过kyo没看过的电影推荐给kyo:
      sdiff joeMovie kyoMovie -> {m4,m5,m6}

    相关文章

      网友评论

          本文标题:Redis核心数据结构 - set

          本文链接:https://www.haomeiwen.com/subject/odifkltx.html