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,一经查实,立即删除!

相关文章

MongoDB 文档存储

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

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

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

微信小程序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,查询全体学生的姓名&#…

安装好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 &…

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;通过测试来推…

go语言day16 runtime包 临界资源 sync包

深入理解Java虚拟机到底是什么_java虚拟机是什么-CSDN博客 Golang-100-Days/Day16-20(Go语言基础进阶)/day17_Go语言并发Goroutine.md at master rubyhan1314/Golang-100-Days GitHub runtime 类似jvm&#xff0c;runtime包也提供了垃圾回收功能&#xff0c;不同的是runtime…

Sleuth(Micrometer) +ZipKin分布式链路追踪的解析以及使用

1、用另一种场景来类比Sleuth和Zipkin的作用 我们来设想一个快递公司的物流追踪系统。设你在网上购买了一本书&#xff0c;当你的订单提交后&#xff0c;后台系统会生成一个唯一的订单号&#xff0c;这个订单号就相当于Sleuth中的Trace ID。你的订单会经过几个主要的处理阶段&…

3.5 查找和排序算法

大纲 算法基础 常用的表示算法的方法 算法的复杂度 查找 顺序查找、二分查找 哈希查找 真题 排序 插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 基数排序 排序算法总结

黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day4 重置版 全网最全最快

你好,我是Qiuner. 为帮助别人少走弯路和记录自己编程学习过程而写博客 这是我的 github https://github.com/Qiuner ⭐️ gitee https://gitee.com/Qiuner &#x1f339; 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 &#x1f604; (^ ~ ^) 想看更多 那就点个关注吧 我会…

UniCAVE实现融合输出或多屏输出

介绍 CAVE沉浸式系统包含单主机多屏和多主机多屏两种系统架构。此文档主要介绍融合输出与单机多屏输出&#xff0c;这两种方式都属于单主机多屏。均以使用UniCAVE输出到前左右下为例。引用的Package为UniCAVE2019。 融合输出 实现原理 &#xff08;猜测&#xff09;是将多块…

2024春秋杯网络安全联赛夏季赛Crypto(AK)解题思路及用到的软件

2024春秋杯网络安全联赛夏季赛Crypto(AK) 2024春秋杯网络安全联赛夏季赛Crypto解题思路以及用到的软件 所有题用到的软件 1.vm(虚拟机kali)和Ubuntu&#xff0c;正常配置即可B站有很多。 2.Visual Studio Code(里面要配置python&#xff0c;crypto库和Sagemath数学软件系统S…

基于微信小程序+SpringBoot+Vue的青少年科普教学系统平台(带1w+文档)

基于微信小程序SpringBootVue的青少年科普教学系统平台(带1w文档) 基于微信小程序SpringBootVue的青少年科普教学系统平台(带1w文档) 这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理&#xff0c;还缩短高校教师成果信息管理流程&#xff0c;使其系统化…

LINUX之MMC子系统分析

目录 1. 概念1.1 MMC卡1.2 SD卡1.3 SDIO 2. 总线协议2.1 协议2.2 一般协议2.3 写数据2.4 读数据2.5 卡模式2.5.1 SD卡模式2.5.2 eMMC模式 2.6 命令2.6.1 命令类2.6.2 详细命令 2.7 应答2.8 寄存器2.8.1 OCR2.8.2 CID2.8.3 CSD2.8.4 RCA2.8.5 扩展CSD 3. 关键结构3.1 struct sdh…

数学建模(7)——Logistic模型

一、马尔萨斯人口模型 import numpy as np import matplotlib.pyplot as plt# 初始人口 N0 100 # 人口增长率 r 0.02 # 时间段&#xff08;年&#xff09; t np.linspace(0, 200, 200)# 马尔萨斯人口模型 N N0 * np.exp(r * t)# 绘图 plt.plot(t, N, labelPopulation) plt.…