【Sorted Set】Redis常用数据类型: ZSet [使用手册]

news2024/9/29 1:18:26

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

目录

  • ⑤Redis Zset 操作命令汇总
      • 1. zadd 添加或更新一个或多个成员
      • 2. zrange 返回指定区间范围的有序集合成员
      • 3. zrevrange 根据分数从高到低,返回指定区间范围的有序集合成员
      • 4. zrangebyscore 获取指定分数范围的成员
      • 5. zscore 获取指定成员的分数值
      • 6. zcard 获取集合中成员的数量
      • 7. zrem 移除有序集合中一个或多个成员
      • 8. zincrby 为指定成员的分数值添加增量
      • 9. zcount 获取指定分数范围内的成员数量
      • 10. zmpop 从有序集合中移除第一个非空排序集合(可设置数量)
      • 11. zrank 获取指定成员的下标索引
      • 12. zrevrank 逆序地获取指定成员的下标索引


⑤Redis Zset 操作命令汇总



  • Zset和set一样都是String类型的不可重复集合,但是有序的
  • ZSet集合是通过哈希表实现的,添加、删除、查找的复杂度都是O(1)
  • 每个元素都会关联一个double类型的分数,以此为集合成员进行由小到大的排序

快速理解:

Zset就是在set的基础上,每个值前加一个分数值

之前set是k1 v1 v2

现Zset是k1 score1 v1 score2 v2


1. zadd 添加或更新一个或多个成员


zadd key score member [score member ...]


# 有序集合z1,成员a b c分数值分别为10 20 30
zadd z1 10 a 20 b 30 c

在这里插入图片描述



2. zrange 返回指定区间范围的有序集合成员


zrange key start stop [WITHSCORES]


# 获取指定区间范围的有序集合成员,0值-1代表所有范围
 zrange z1 0 -1
# withscores可选参数,可将成员的分数值一并输出
 zrange z1 0 -1 withscores

在这里插入图片描述



3. zrevrange 根据分数从高到低,返回指定区间范围的有序集合成员


zrevrange key start stop [WITHSCORES]


# 根据分数从高到低,获取指定区间范围的有序集合成员,0值-1代表所有范围
 zrevrange z1 0 -1
# withscores可选参数,可将成员的分数值一并输出
 zrevrange z1 0 -1 withscores

在这里插入图片描述



4. zrangebyscore 获取指定分数范围的成员


zrangebyscore key min max [WITHSCORES] [LIMIT offset count]


# 获取指定分数值范围的有序集合成员
 zrangebyscore z1 10 30
# (10 30即:10值30范围但不包含10
 zrangebyscore z1 (10 30
 # 10 (30即:10值30范围但不包含30
 zrangebyscore z1 10 (30
 # withscores可选参数,可将成员的分数值一并输出
 zrangebyscore z1 10 30 withscores

在这里插入图片描述



5. zscore 获取指定成员的分数值


zscore key member


# 获取有序集合z1中指定成员的分数值
zscore z1 a
zscore z1 b
zscore z1 c

在这里插入图片描述



6. zcard 获取集合中成员的数量


zcard key


# 获取有序集合z1中成员的个数
zcard z1

在这里插入图片描述



7. zrem 移除有序集合中一个或多个成员


zrem key member [member ...]


# 移除有序集合z1中指定的成员
zrem z1 a b

在这里插入图片描述



8. zincrby 为指定成员的分数值添加增量


zincrby key increment member


# 为有序集合Z1成员c的分数值添加增量36,返回运算后的分数值
zrem z1 a b

在这里插入图片描述



9. zcount 获取指定分数范围内的成员数量


zcount key min max


# 获取指定分数范围内的成员数量
zcount z1 30 70

在这里插入图片描述



10. zmpop 从有序集合中移除第一个非空排序集合(可设置数量)


zmpop numkeys key [key ...] MIN|MAX [COUNT count]


# zmpop 移除个数 有序集合 min|max count 限制数
 zmpop 1 z1 min count 1

在这里插入图片描述



11. zrank 获取指定成员的下标索引


zrank key member


# 获取z1中指定成员的下标索引
zrank z1 cpp
zrank z1 java

在这里插入图片描述



12. zrevrank 逆序地获取指定成员的下标索引


zrevrank key member


# 逆序获取z1中指定成员的下标索引
zrevrank z1 cpp
zrevrank z1 java

在这里插入图片描述




在这里插入图片描述

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

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

相关文章

APM工具skywalking部署

一 整体架构 整个架构,分成上、下、左、右四部分: 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是&…

css渐变详解(重复性线性渐变、径向渐变、重复性径向渐变的使用)

目录 线性渐变 重复性线性渐变 径向渐变 重复性径向渐变的使用 线性渐变 线性渐变是向下、向上、向左、向右、对角方向的颜色渐变。 其语法格式为: background-image: linear-gradient(side-or-corner|angle, linear-color-stop); 参数说明如下: …

mongo DB -- aggregate分组查询后字段展示

一、分组查询 在mongoDB中可以使用aggregate中的$group操作对集合中的文档进行分组,但是查询后的数据不显示其他字段,只显示分组字段 aggregate进行分组示例 db.collection.aggregate([{$group: {_id: "$field"}},]) 查询后显示 展开只显示两个字段 二、显示所有字段…

10.分组循环练习题

分组循环 https://leetcode.cn/problems/longest-even-odd-subarray-with-threshold/solutions/2528771/jiao-ni-yi-ci-xing-ba-dai-ma-xie-dui-on-zuspx/?envTypedaily-question&envId2023-11-16 分组循环 适用场景: 按照题目要求,数组会被分割成若…

微信运营神器:从群发到批量添加,让你的微信营销更轻松

在这个数字化时代,微信已经成为了我们生活中不可或缺的一部分。对于许多企业和个人来说,微信营销也是非常重要的一部分。但是,微信营销并不是一件容易的事情,需要花费大量的时间和精力。为了解决这个问题,今天我们将向…

邻趣连接力:如何无代码集成CRM、电商平台和营销系统,提升广告推广效率

连接即服务:邻趣无代码集成方法 传统的电商系统集成过程需要大量的时间和资源进行API开发,这不仅耗时耗力,还需要专业的技术团队支持。然而,邻趣通过提供一种无需API开发的连接方法,极大地简化了整个集成过程。商家只…

3D人脸扫描设备助力企业家数字人复刻,打破商业边界

京都薇薇推出数字人VN,以京都薇薇董事长为原型制作,赋能品牌直播、短片宣传、线上面诊等活动,进一步增强消费者对品牌的交互体验,把元宇宙与品牌相融合,推动品牌线上服务与线下服务实现数字一体化,打造一个…

【C/C++】排序算法代码实现

这里&#xff0c;汇总了常见的排序算法具体代码实现。使用C语言编写。 排序算法实现 插入排序冒泡排序选择排序快速排序希尔排序归并排序 插入排序 #include <stdio.h> #include <stdlib.h>void InsertSort(int arr[],int n){int i,j,temp;for(i 1;i < n;i){ …

捷诚管理信息系统 SQL注入漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、产品介绍 捷诚管理信息系统是一款功能全面&#xff0c;可以支持自…

【独家发布】抖音半蓝V官方免费认证技术

先在巨量引擎升级dou账号 随后上传资料进行验证即可 逐步操作 全程实操保姆及教程 后续0粉点亮蓝v技术教程 来自&#xff1a;人类小徐-分享有价值的资源

构建个性化预约服务:预约上门服务系统源码解读与实战

随着社会的发展&#xff0c;预约上门服务系统在满足用户需求、提升服务效率方面发挥着越来越重要的作用。在本文中&#xff0c;我们将深入研究预约上门服务系统的源码&#xff0c;通过实际的技术代码示例&#xff0c;揭示系统内部的关键机制&#xff0c;以及如何在实际项目中应…

数据治理技术:研究现状与数据规范

随着信息技术的迅速发展,数据规模逐渐扩大&#xff0c;与此同时&#xff0c;劣质数据也随之而来&#xff0c;极大地降低了数据挖掘的质量&#xff0c;对信息社会造成了严重的困扰&#xff0c;劣质数据大量存在于很多领域和机构&#xff0c;国外权威机构的统计表明&#xff1a;美…

OpenSearch开发环境安装Docker和Docker-Compose两种方式

文章目录 简介常用请求创建映射写入数据查询数据其他 安装Docker方式安装OpenSearch安装OpenSearchDashboard Docker-Compose方式Docker-Compose安装1.设置主机环境2.下载docker-compose.yml文件3.启动docker-compose4.验证 问题问题1&#xff1a;IPv4 forwarding is disabled.…

完美解决:在Ubuntu18.04下ROS Melodic基于python3的cv_bridge的一点子歪门邪道

由于在Ubuntu18.04下ROS Melodic是运行在python 2.7环境下&#xff0c;而我的程序需要运行在anaconda创建的python 3.x环境里&#xff0c;这就需要用到cv_bridge这个库&#xff0c;而不出意外的&#xff0c;各种报错&#xff0c;比如&#xff1a; from cv_bridge.boost.cv_bri…

竞赛选题 题目:垃圾邮件(短信)分类 算法实现 机器学习 深度学习 开题

文章目录 1 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器学习的垃圾邮件分类 该项目…

【RtpRtcp】3: webrtc m79:video 相关创建及切片、发送

m79 的 客户端代码流程。 对于视频帧: CreateRtpStreamSenders 管理一组RtpStreamSender ,每一个RtpStreamSender 都进行rtp包的发送: 具体发送是RTPSenderVideo 处理,RTPSenderVideo 对收到的h264 帧,进行帧分片rtp,然后一组包一起使用LogAndSendToNetwork 发送的。 Rtp…

解决vue中引入天地图显示不全问题,设置setTimeout即可解决!

index.html中引入天地图api <script type"text/javascript" src"https://api.tianditu.gov.cn/api?v4.0&tk你的key"></script>map.vue中初始化天地图 //初始化天地图 initTMap() {const T window.T;// 3.初始化地图对象this.tMap new…

探索WebStorm 2023 Mac/win:最强大的JavaScript开发工具

在当今的软件开发领域&#xff0c;JavaScript已经成为了一种不可或缺的编程语言。而在众多的JavaScript开发工具中&#xff0c;WebStorm一直以其强大的功能和友好的用户界面脱颖而出。现在&#xff0c;我们迎来了全新的WebStorm 2023版本&#xff0c;它将带给开发者们更加出色的…

Vue中使用Echarts实现数据可视化

文章目录 引言一、安装Echarts二、引入Echarts三、创建图表容器四、初始化Echarts实例五、配置图表选项和数据六、实现图表更新七、Vue实例代码结语我是将军&#xff0c;我一直都在&#xff0c;。&#xff01; 引言 接着上一篇内容&#xff0c;我将继续分享有关数据可视化的相…

VM CentOS7安装ffmpeg

项目中涉及给视频添加水印&#xff0c;使用到了ffmpeg&#xff0c;windows系统可直接使用&#xff0c;Linux需要手动编译完成ffmpeg后才可正常使用。 配置yum源: 备份原repo文件 cd /etc/yum.repos.d/mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.r…