Redis系列命令更新--Redis有序集合命令

Redis有序集合(sorted set)

(1)说明:

A、Redis有序集合和集合一样也是string类型元素的集合,且不允许重复的成员;不同的是每个元素都会关联一个double类型的分数;redis正式通过分数来为集合中的成员进行从小到大的排序;有序集合的成员是唯一的,但分数(score)却可以重复;

B、集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1);集合中最大的成员数是2^(32-1)((4294967295, 每个集合可存储40多亿个成员)

(2)实例:

 

 

70e3bd8cc5f22dd05c65c2605e2aafd5.jpeg

 

 

Redis有序集合命令:

1、Redis Zadd命令

(1)说明:Redis Zadd命令用于将一个或多个成员元素及其分数值加入到有序集当中;如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证成员在正确的位置上;分数值可以是整数值或双精度浮点数;如果有序集合key不存在,则创建一个空的有序集并执行ZADD操作;当key存在但不是有序集类型时,返回一个错误

(2)语法:redis 127.0.0.1:6379> ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUEN;返回被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员

(3)实例:

 

 

049ba8b029e884acf09db5b0dd1493a2.png

 

 

2、Redis Zcard命令

(1)说明:Redis Zcard命令用于计算机集合中元素的数量

(2)语法:redis 127.0.0.1:6379> ZCARD KEY_NAME;当key存在且是有序集类型时,返回有序集的基数;当key不存在时,返回0

(3)实例:

 

 

ab6be4384cd943ab542f877285e43038.png

 

 

3、Redis Zcount命令

(1)说明:Redis Zcount命令用于计算有序集合中指定分数区间的成员数量

(2)语法:redis 127.0.0.1:6379> ZCOUNT key min max;返回分数值在min和max之间的成员的数量

(3)实例:

 

 

8306d5437900d6b337083d82317b3976.png

 

 

4、Redis Zincrby命令

(1)说明:Redis Zincrby命令对有序集合中指定成员的分数加上增量increment;可以通过传递一个负数值increment,让分数减去相应的值,比如ZINCRBY key-5 member,就是让member的score值减去5

当key不存在,或分数不是key的成员时,ZINCRBY key increment member等同于ZADD key increment menber;当key不是有序集类型时,返回一个错误;分数值可以是整数值或双精度浮点数

(2)语法:redis 127.0.0.1:6379> ZINCRBY key increment member;返回member成员的新分数值,以字符串形式表示;

(3)实例:

 

 

a26130242a36f4df5c2b38a47eacd8a0.png

 

 

5、Redis Zinterstore命令

(1)说明:Redis Zinterstore命令计算给定的一个或多个有序集的交集,其中给定key的数量必须以numkeys参数指定,并将该交集(结果集)储存到destination;

默认情况下,结果集中某个成员的分数值是所有给定集下该成员分数值之和

(2)语法:redis 127.0.0.1:6379> ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX];返回保存到目标结果集的成员数量

(3)实例:

 

 

059f58f3a4442de0777484f0616c6cab.png

 

 

6、Redis Zlexcount命令

(1)说明:Redis Zlexcount命令在计算有序集合中指定字典区间内成员数量

(2)语法:redis 127.0.0.1:6379> ZLEXCOUNT KEY MIN MAX;返回区间内的成员数量

(3)实例:

 

 

81eaf5e8ad85ee6f8e7676e99122bee9.png

 

 

7、Redis Zrange命令

(1)说明:Redis Zrange命令返回有序集中,指定区间内的成员;其中成员的位置按分数值递增(从小到大)来排序;具有相同分数值的成员按字典序(lexicographical order)来排列;如果你需要成员按值递减(从大到小)来排列,请使用ZREVARANGE命令;下标参数start和stop都以0为底,也就是说,以0表示有序集第一个成员,以1表示有序集第二个成员,以此类推;你也可以使用负数下标,以-1表示最后一个成员,-2表示倒数第二个成员,以此类推。

(2)语法:redis 127.0.0.1:6379> ZRANGE key start stop [WITHSCORES];指定区间内,带有分数值(可选)的有序集成员的列表

(3)实例:

 

 

8aa81eabbc456189b3e5a35a09f5bd21.jpeg

 

 

8、Redis Zrangebylex命令

(1)说明:Redis Zrangebylex通过字典区间返回有序集合的成员

(2)语法:redis 127.0.0.1:6379> ZRANGEBYLEX key min max [LIMIT offset count];返回指定区间内的元素列表

(3)实例:

 

 

dc97fb8235a18928affc9cac01c59ca2.png

 

 

9、Redis Zrangebyscore命令

(1)说明:Redis Zrangebyscore命令返回有序集合中指定分数区间的成员列表;有序集成员按分数值递增(从小到大)次序排列;具有相同分数值的成员按字典来排列(该属性是有序集提供的,不需要额外的计算);默认情况下,区间的取值使用闭区间(小于等于或大于等于), 你也可以通过给参数前增加(符号来使用可选的开区间(小于或大于));

(2)语法:redis 127.0.0.1:6379> ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count];返回指定区间内,带有分数值(可选)的有序成员的列表

(3)实例:

A、

 

 

 

 

6ac68bc293794f6e14f148d3051ed024.png

 
 

B、

 

 

 

010f2d785fe14eb793c57c44e365e495.png

 

10、Redis Zrevrange命令

(1)说明:Redis Zrevrange命令返回有序集中,指定区间内的成员;其中成员的位置按分数值递减(从大到小)来排列;具有相同分数值的成员按字典序的逆序排列;除了成员按分数值递减的次序排列这一点外,ZREVRANGE命令的其他方面和ZRANGE命令一样

(2)语法:redis 127.0.0.1:6379> ZREVRANGE key start stop [WITHSCORES];返回指定区间内,带有分数值(可选)的有序集成员的列表

(3)实例:

 

 

d1f07a3674bc51930d34835ffb1300d3.png

 

 

11、Redis Zrevrangebyscore命令

(1)说明:Redis Zravangebyscore返回有序集中指定分数区间内的所有的成员;有序集成员按分数值递减(从大到小)的次序排列;具有相同分数值的成员按字典的逆序排列;除了成员按分数值递减的次序排列这一点外,ZREVRANGEBYSCORE 命令的其他方面和 ZRANGEBYSCORE 命令一样。

(2)语法:redis 127.0.0.1:6379> ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count];返回指定区间内,带有分数值(可选)的有序集成员的列表

(3)实例:

 

 

ed57d9262e62ec96a36cdd497b846262.png

 

 

12、Redis Zrevrank命令

(1)说明:Redis Zrevrank命令返回有序集中成员的排名;其中有序集成员按分数值递减(从大到小)排序,排序以0为底,也就是说,分数值最大的成员排名为0;使用ZRANK命令可以获得成员按分数值递增排列的排名(从小到大)

(2)语法:redis 127.0.0.1:6379> ZREVRANK key member;如果成员是有序集key的成员,返回成员的排名;如果成员不是有序集key的成员,返回nil

(3)实例:

 

 

d29fc0e67b9199b595ea05ca50823ecc.png

 

 

13、Redis Zscore命令

(1)说明:Redis Zscore命令返回有序集中,成员的分数值;如果成员元素不是有序集key的成员,或key不存在,返回nil

2)语法:redis 127.0.0.1:6379> ZSCORE key member;返回成员的分数值,以字符串的形式表示

(3)实例:

 

 

 

49337b1cb30f929fe2a9ee615a3eeb2b.png

 

14、Redis Zunionstore命令

(1)说明:Redis Zunionstore命令计算给定的一个或多个有序集的并集,其中给定key的数量必须以numkeys参数指定,并将该并集(结果集)储存到destination;默认情况下,结果几种某个成员的分数值是所有给定集下该成员分数值之和

(2)语法:redis 127.0.0.1:6379> ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX];返回保存到destination的结果集的成员数量

(3)实例:

 

 

6683df20e54d5d5e7ead555f1f13c7bb.jpeg

 

 

15、Redis Zscan命令

(1)说明:Redis Zscan命令用于迭代有序集合中的元素(包含元素成员和元素分值)

(2)语法:redis 127.0.0.1:6379> ZSCAN key cursor [MATCH pattern] [COUNT count];返回的每个元素都是有序集合元素,一个有序集合元素由一个成员和一个分值组成

 

 

以上的内容来源于菜鸟教程,都是从里面总结并且通过自己亲自操作截图整理的,希望对你有帮助。

 

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

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

相关文章

Web开发:元素

元素 基础结构元素文本内容元素列表元素多媒体元素表格元素表单元素语义元素示例结构分析基础结构元素头部和导航主页部分关于部分服务部分联系部分侧边栏页脚 基础结构元素 <!DOCTYPE html>&#xff1a;声明文档类型&#xff0c;告诉浏览器使用HTML5标准解析文档。它必…

MongoDB 文档存储

安装 下载&#xff1a; Download MongoDB Community Server | MongoDB 说明&#xff1a; 现在基本都安装的是4.4以后的版本。安装完成后使用 mongod 来查看是否安装成功 会输出一堆内容 而如果想要操作数据库&#xff0c;则需要安装一个工具&#xff0c;mongosh-2.2.12-x64.m…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 堆内存申请(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

linux(CentOS、Ubuntu)安装python3.12.2环境

1.下载官网Python安装包 wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz 1.1解压 tar -xf Python-3.12.2.tar.xz 解压完后切换到Python-3.12.2文件夹(这里根据自己解压的文件夹路径) cd /usr/packages/Python-3.12.2/ 1.2升级软件包管理器 CentOS系…

微信小程序canvas 使用案例(一)

一、cavans 对象获取、上线文创建 1.wxml <!-- canvas.wxml --><canvas type"2d" id"myCanvas"></canvas> 2.js /*** 生命周期函数--监听页面加载*/onLoad(options) {const query wx.createSelectorQuery()query.select(#myCanvas).f…

mysql练习3

1.修改student 表中年龄(sage)字段属性&#xff0c;数据类型由int 改变为smallint 2.为Course表中Cno 课程号字段设置索引,并查看索引 3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引&#xff0c;索引名为SC_INDEX 4.创建一视图 stu info,查询全体学生的姓名&#…

IDEA的APIPost接口测试插件详解

APIPOST官方网址 一、安装APIPost插件 打开IntelliJ IDEA&#xff1a; 启动您的IntelliJ IDEA开发环境。 导航到插件设置&#xff1a; 在Windows或Linux上&#xff0c;点击 File > Settings。在macOS上&#xff0c;点击 IntelliJ IDEA > Preferences。 搜索并安装APIPo…

前端:上传2进制图片

1、let formData new FormData(); 2、添加要传的字段&#xff1a;formData.append("avatarfile", data); &#xff08;key,value&#xff09; 3、上传文件 function uploadImg() {// 1定义FormDatalet formData new FormData();// 2添加字段formData.append("…

安装好anaconda,打开jupyter notebook,新建 报500错

解决办法&#xff1a; 打开anaconda prompt 输入 jupyter --version 重新进入jupyter notebook&#xff1a; 可以成功进入进行代码编辑

建筑工程企业项目管理系统哪个好?试试企智汇工程项目管理系统

在建筑工程行业中&#xff0c;项目管理的复杂性和挑战性是众所周知的。随着项目规模的扩大和技术的不断进步&#xff0c;传统的管理方法已经难以满足现代建筑工程的需求。企智汇工程项目管理系统应运而生&#xff0c;为建筑工程企业提供了一个全面、智能、高效的解决方案。 一…

[mmdetection]Faster-RCNN模型断点训练方法

断电等问题时常发生&#xff0c;因此我们会对模型进行断点训练。 如mmdetection项目中的FasterRCNN模型训练时出现训练突然中断&#xff0c;我们将使用如下命令从中断的epochs继续训练。 首先我们来看看模型训练时会生成的的文件&#xff1a; 接下来我们将使用如下命令进行断…

【深大计算机系统(2)】实验一 实验环境配置与使用 附常用指令

目录 一、 实验目标&#xff1a; 二、实验环境与工件&#xff1a; 三、实验内容与步骤 1. 学习并熟悉Linux基本操作&#xff0c;按照要求创建用户。&#xff08;30分&#xff09; 2.新建用户主目录下创建子目录&#xff1a;gdbdebug&#xff0c;并进入gdbdebug子目录。将过程和…

Golang | Leetcode Golang题解之第241题为运算表达式设计优先级

题目&#xff1a; 题解&#xff1a; const addition, subtraction, multiplication -1, -2, -3func diffWaysToCompute(expression string) []int {ops : []int{}for i, n : 0, len(expression); i < n; {if unicode.IsDigit(rune(expression[i])) {x : 0for ; i < n &…

C语言——详解结构体内字符型数据定义与初始化

在C语言中&#xff0c;结构体内的字符型数据可以通过多种方式进行定义&#xff0c;并且每种定义方式都有其对应的初始化方法。这些定义方式包括直接定义字符数组、使用字符指针以及结合结构体的不同定义风格。理解这些定义方式及其初始化方法对于编写高效、可维护的C语言程序至…

leetcode日记(47)螺旋矩阵Ⅱ

这题思路不难&#xff0c;就是找规律太难了。 我首先的思路是一行一行来&#xff0c;根据规律填入下一行的数组&#xff0c;第i行是由前i个数字&#xff08;n-2*i&#xff09;个增序数列后i个数字组成&#xff0c;后来觉得太难找规律了就换了一种思路。 思路大致是先计算出需…

googleTest 源码主线框架性分析

TDD&#xff0c;测试驱动开发&#xff0c;英文全称Test-Driven Development&#xff0c;简称TDD&#xff0c;是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码&#xff0c;然后只编写使测试通过的功能代码&#xff0c;通过测试来推…

Apache Commons技术详解

文章目录 简介官网链接原理基础使用Commons LangCommons Collections 高级使用Commons IOCommons Math 优缺点优点缺点 总结 简介 Apache Commons 是 Apache 软件基金会下的一个项目&#xff0c;旨在提供可重用的Java组件。这些组件覆盖了广泛的编程任务&#xff0c;从字符串处…

Vue路由守卫详解及其应用场景分析

随着前端技术的不断发展,vue作为一款开发框架也越来越受到开发者们的欢迎。而vue的路由机制也是vue框架中不可或缺的一部分。路由系统能够帮助开发人员构建复杂的单页应用,同时也提供了一种灵活的方式来管理页面状态和用户导航。在这种情况下,vue路由守卫便成为一个必须要掌…

《刚毕业的计算机大学生如何找到满意工作》

《刚毕业的计算机大学生如何找到满意工作》 对于刚刚毕业的计算机专业大学生来说&#xff0c;踏入职场、找到一份满意的工作是人生的一个重要转折点。然而&#xff0c;在竞争激烈的就业市场中&#xff0c;如何才能脱颖而出&#xff0c;实现自己的职业目标呢&#xff1f;以下是…

如何看待LabVIEW数据清洗的重要性?

数据清洗&#xff0c;即对原始数据进行预处理和整理&#xff0c;是数据分析过程中必不可少的一步。它的主要目的是提高数据的质量&#xff0c;确保后续数据分析和处理的准确性和可靠性。在使用LabVIEW进行数据采集和分析时&#xff0c;数据清洗的重要性体现在以下几个方面&…