• Redis Set和Sorted Set


    Set介绍

    Redis中的Set是一种无序集合,集合中的元素无先后顺序但是都唯一,类似Java的HashSet,当你需要存储一个列表数据,又不希望出现重复数据时,Set是一个很好的选择,并且Set提供了判断某个元素是否在一个Set集合内的重要接口,这也是List所不能提供的

    基于Set轻易实现交集、并集、差集的操作。

    Set常用命令

    SADD key member1 member2 向指定集合添加一个或多个元素
    SMEMBERS key 获取指定集合中的所有元素
    SCARD key 获取指定集合的元素数量
    SISMEMBER key member 判断指定元素是否在指定集合中
    SINTER key1,key2… 获取给定所有集合的交集
    SINTERSTORE destination key1 key2…将给定所有集合的交集存储在destination中
    SUNION key1 key2… 将给定所有集合的并集存储在destination中
    SDIFF key1 key2…获取给定所有集合的差集
    SDIFFSTORE destination key1 key2…将给定所有集合的差集存储在destination中
    SPOP key count 随机移除并获取指定集合中一个或多个元素
    SRANDMEMBER key count 随机获取指定集合中指定数量的元素

    Set应用场景

    网站UV统计、文章点赞、动态点赞
    共同好友(交集)、共同粉丝(交集)、好友推荐(差集)、音乐推荐(差集)

    Sorted Set

    Sorted Set类似于Set,但与Set相比,Sorted Set增加了一个权重参数score,使得集合中的元素能够按score进行有序排列,还可以通过score的范围来获取元素的列表,有点像java中hashmap和treeset的结合体

    Sorted Set常用命令

    ZADD key score1 member1 score2 member2 向指定有序集合添加一个或多个元素
    ZCARD key 获取指定有序集合的元素数量
    ZCORE key member获取指定有序集合中指定元素的score值
    ZINTERSTORE destination numkeys key1 key2… 将给定所有有序集合的交集存储在destination中,对相同元素对应的score值进行sum聚合操作,numkeys为集合数量
    ZUNIONSTORE destination numkeys key1 key2 求并集 其他和ZINTERSTORE相似
    ZDIFF destination numkeys key1 key2 求差集,其他和ZINTERSTORE相似
    ZRANGE key start 获取指定有序集合start和end之间的元素(score从低到高)
    ZREVRANGE key start end 获取指定有序集合start和end之间的元素(score从高到低)
    ZREVRANK key member 获取指定有序集合中指定元素的排名(score从大到小排序)

    应用场景

    排行榜 比如直播间送礼物排行榜 微信步数排行榜

  • 相关阅读:
    这些软件可以快速实现图片翻译文字
    基于MATLAB的电流、电压互感器特性的仿真分析
    CCRC-PIPA个人信息保护评估师
    MongoDB聚集分析
    逻辑回归(Logistic Regression)
    使用xml、ftl模板生成word文档,下载到浏览器或指定位置
    2023-09-25 LeetCode每日一题(LFU 缓存)
    web前端在手机端打开进行页面提示——手机端适配问题
    如何评价科大讯飞AI翻译笔P20系列,值得买吗?
    MySQL数据库——视图的更新、视图作用以及案例
  • 原文地址:https://blog.csdn.net/qq_56892136/article/details/126265138