Redis底层学习(六)—存储类型-ZSet篇

news2024/11/18 13:38:40

这里写目录标题

  • 结构特点
    • 具体服务器操作命令
      • 底层结构
        • 应用场景

结构特点

适⽤场景:存储不重复且有序需求的数据,⽐如:学⽣的⾼考成绩。
它的内部采⽤“ 跳跃列表 ”实现,根据score进⾏排序

具体服务器操作命令

添加元素到zset中: ZADD [key] [score1] [member1] … [scoreN][memberN]
查看zset中某个元素的score值: ZSCORE [key] [member]

升序输出: ZRANGE [key] 0 -1 输出从下标0到下标-1(即倒数第⼀个)中的所有元素从⼩到

升序输出: ZRANGEBYSCORE [key] -inf +inf 与上⾯输出效果⼀样,输出score>=负⽆
穷,score<=正⽆穷的所有元素
降序输出: ZREVRANGE [key] 0 -1
根据某些score条件,升序展示zset中的元素: ZRANGEBYSCORE [key] [minScore] [maxS
core]
根据某些score条件,降序展示zset中的元素: ZREVRANGEBYSCORE [key] [maxScore] [m
inScore]
查看zset中的元素个数: ZCARD [key]
删除zset中的某个元素: ZREM key [member1] … [memberN]

底层结构

有序集合编码的内部实现可以是 ziplist 或 skiplist

zipList 压缩链表:
每个集合元素使⽤两个紧挨在⼀起的压缩列表节点来保存,第⼀个节点保存元素的成员( member ),⽽第⼆个节点则保存元素的分值( score )。压缩列表内的集合元素按分值( score )从⼩到⼤进⾏排序。
在这里插入图片描述

skiplist:
skiplist 编码的有序集合采⽤ zset 结构作为底层实现,⼀个zset同时包含⼀个字
典 dict 和⼀个跳跃表 zskiplist 。
在这里插入图片描述

在这里插入图片描述

当有序集合对象可以同时满⾜以下两个条件时,使⽤ ziplist 编码,否则使
⽤ skiplist 编码:
有序集合保存的元素数量⼩于等于128个
有序集合保存的所有元素成员的⻓度都⼩于64字节

应用场景

对点赞用户进行排序操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RedditVideoMakerBot 视频制作机器人自动生成视频搭建教程

https://github.com/elebumm/RedditVideoMakerBot搭建教程 RedditVideoMakerBot视频制作机器人 有些在抖音、快手上的视频获得了数百万的观看次数&#xff0c;你仔细分析他们的视频&#xff0c;他们唯一做的原创事情收集材料、然后拼接在一起。尤其是一些新闻类的视频&#xff…

深度学习-RepVGGNet

文章目录 前言一、RepVgg简介二、为什么训练时采用多分支结构三、为什么推理时使用单分支结构四、结构重参数化1、融合Conv2d和BN 前言 看yolonas代码&#xff0c;发现有QARepVgg网络&#xff0c;完全不懂&#xff0c;所以来补课&#xff0c;先看了RepVGG 这篇文章主要来自于霹…

模六十计数器(三)

文章目录 前言一、代码模板二、Verilog程序1、顶层模块2、计数模块3、显示模块 三、Testbench程序四、仿真波形五、实测结果总结 前言 又隔了将近一年&#xff0c;学习明德扬编程规范&#xff0c;重新编写模六十计数器程序&#xff0c;使其符合规范&#xff0c;并采用模板化与…

阿秀去面腾讯了(社招两年面试经验)

作者&#xff1a;阿秀 校招八股文学习网站&#xff1a;https://interviewguide.cn 小伙伴们大家好&#xff0c;我是阿秀。 前段时间说了自己换工作的事&#xff1a;阿秀离职了&#xff0c;虽然最后选择去了外企&#xff0c;但在换工作期间也看了不少机会&#xff0c;基本国内的…

独立开发变现周刊(第89期):一个 AI 小工具,两个月内赚7.3万美元

分享独立开发、产品变现相关内容&#xff0c;每周五发布。 目录 1、privateGPT: 可以和本地文档进行交互的聊天机器人2、chatbutler: 无代码可视化创建聊天机器人3、CommaFeed&#xff1a;可以自托管RSS阅读器开源项目4、roop: 一键深度换脸5、deeplearning: 吴恩达在推特上宣布…

搜索帮助demo:F4IF_INT_TABLE_VALUE_REQUEST 返回多列值

货铺QQ群号&#xff1a;834508274微信群不能扫码进了&#xff0c;可以加我微信SAPliumeng拉进群&#xff0c;申请时请提供您哪个模块顾问&#xff0c;否则是一律不通过的。进群统一修改群名片&#xff0c;例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接&#xff0c;小程…

零基础开发小程序第三课-列表功能开发

最近我新研究了一款无代码开发工具&#xff0c;主打的是一行代码都不写来开发小程序。已经有了两篇文章 利用无代码工具开发一款小程序 公民开发者学习无代码编程&#xff0c;从CRUD开始 前两篇文章已经介绍了如何创建项目&#xff0c;如何建立数据表&#xff0c;以及开发新…

智哪儿×广州光亚展专栏:对话8家AIoT及芯片方案企业,解读其核心竞争优势及成熟项目案例,参展亮点提前看

2023年6月9-12日&#xff0c;第二十八届广州国际照明展览会&#xff08;光亚展&#xff0c;GILE2023&#xff09;将在广州中国进出口商品交易会展馆正式启幕。本届展会以“「光」未来”为主题&#xff0c;将迎来3,318家来自18个国际及地区的参展企业&#xff0c;展示规模将横跨…

【MCS-51单片机汇编语言】期末复习总结②——汇编程序设计(题型二)

文章目录 顺序结构分支结构CJNE的使用规则 循环结构包含部分分类 常考题型例题1题目描述题解 例题2题目描述题解 例题3题目描述题解 顺序结构 程序默认以顺序结构执行&#xff1b; 分支结构 用CJNE进行分支&#xff1b; CJNE的使用规则 CJNE A, #data rel 若(A) (data)&a…

高完整性系统工程(九):Invariants

目录 1. INVARIANTS 1.1 例子 1.2 正式的证明 1. INVARIANTS 一个不变式需要满足以下三个属性&#xff1a; 当循环开始时&#xff0c;不变式是正确的在每一次循环迭代之后&#xff0c;不变式仍然是正确的当循环条件为假时&#xff0c;不变式能推出循环结束后的条件&#x…

刘知远团队提出:如何通过扩大高质量指导性对话数据集,来提高模型的性能和效率...

深度学习自然语言处理 原创作者 | 刘嘉玲 随着开源语言大模型(LLM)的百花齐放&#xff0c;模型的性能和效率关乎到产品的成本和服务体验的均衡。那么&#xff0c;有没有办法让语言大模型变得更高效、更优秀呢&#xff1f; 为了进一步提高开源模型的上限&#xff0c;清华大学的研…

数据库新闻速递 明白3中主流的数据迁移方法 (译)

头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共8…

Webstorm 支持微信小程序开发插件 Wechat mini program support

支持微信小程序插件安装&#xff1a; Wechat mini program support&#xff0c; 微信小程序语法支持&#xff0c;rpx 单位报错解决。 插件官方文档 Wiki - Gitee.com 安装方法&#xff1a; File-> Settings->Plugins 选择Marketplace: 输入Wechat ,搜索&#xff0c;然…

岭回归有看点:正则化参数解密,显著性不再成问题!

一、概述 「L2正则化&#xff08;也称为岭回归&#xff09;」 是一种用于线性回归模型的正则化方法&#xff0c;它通过在模型的损失函数中添加一个惩罚项来防止过拟合。L2正则化的惩罚项是模型参数的平方和&#xff0c;乘以一个正则化参数λ&#xff0c;即&#xff1a; L2正则化…

初阶二叉树的相关题目

前言&#xff1a; 前面我们介绍了初阶二叉树的相关知识&#xff0c;二叉树常考的还是链式二叉树&#xff0c;而且二叉树也会考很多选择题&#xff0c;本文重点是在给出一些常考的二叉树的性质定理推导和经典练习题目配合强化巩固知识。 目录 一、二叉树的常见性质定理 二、常…

你的业务被AI所取替的风险度有多高?AI社交、克隆人、角色扮演、代理人

hi&#xff0c;大家好&#xff0c;最近我们陆续会推出各种实验性项目&#xff0c;把我们在AIGC和数字体验上的思考进行验证&#xff0c;欢迎持续关注我们的进展。&#xff08;文末领取PDF&#xff09; 目前&#xff0c;已经有不少的例子证明了ChatGPT有多好用了。 亚马逊员工在…

定制比例阀控制放大器

定制比例阀控制放大器是为特定应用场景设计的定制化控制系统。它可以根据客户的需求和应用要求&#xff0c;配置输入输出及颤振频率等参数&#xff0c;对现有的控制器进行修改和优化&#xff0c;以满足特定的性能指标和功能要求。随着工业自动化技术的不断发展&#xff0c;定制…

关于安卓viewpager实现堆叠卡片交互

背景 长江后浪推前浪&#xff0c;无聊的需求一浪接一浪。 最近做到一个关于卡片堆叠的需求&#xff0c;觉得挺有意思&#xff0c;所以特此记录一下。 文末将附上源码链接 首先看设计图&#xff1a; 可以看到&#xff0c;是一个卡片堆叠的效果&#xff0c;关于这种UI的实现&…

Android系统安全技术---FBE密钥框架和技术详解

一、前言 用户数据加密是移动设备的重要功能&#xff0c;是使用对称加密算法对Android设备上的所有用户数据进行编码的过程&#xff0c;防止用户数据被未经授权的用户或应用程序访问。 本文是Android系统安全技术系列第二篇&#xff0c;主要介绍基于文件的加密技术。首先介绍An…

到底什么是“云手机”?

今天这篇文章&#xff0c;我们来聊一个很有趣的东东——云手机。 说到云手机&#xff0c;有些童鞋可能并不会觉得陌生。是的&#xff0c;它确实并不是一个新名词。早在2011年左右&#xff0c;国内就有厂商推出了云手机的概念。掐指一算&#xff0c;至今已经有12个年头了。 大家…