码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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从大到小排序)

    应用场景

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

  • 相关阅读:
    数据结构与算法之字典: Leetcode 76. 最小覆盖子串 (Typescript版)
    Python基础教程(二十四):日期和时间
    Vue+element 商品分类业务实现
    机器学习笔记 - 感知器的数学表达
    R语言计算代码的运行时间:使用tictoc包计算代码的运行时间长短、将toc的结果赋值值变量、可以获取详细信息(开始时间、结束时间、tic内容等)
    微信小程序开发六(自定义组件)
    思维导图:网络通信协议标准化
    Python面试题总结
    通信原理学习笔记6-4:数字解调——抽样判决的译码准则(最大后验概率准则MAP、最大似然准则ML、最小二乘/最小平方准则LS、最小距离准则)
    系统时间和系统文件
  • 原文地址:https://blog.csdn.net/qq_56892136/article/details/126265138
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号