通过 Java 操作 redis -- zset 有序集合基本命令

目录

使用命令 zadd,zrange

使用命令 zcard

使用命令 zrem

使用命令 zscore

使用命令 zrank


关于 redis zset 有序集合类型的相关命令推荐看Redis - Zset 有序集合

要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis

         本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)

使用命令 zadd,zrange

    /*** 使用命令 zadd,zrange* */public static void test1(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();//向 redis 中插入类型为 zset 的键值对 key1,有序集合的元素为 zhangsan,分数为 10//返回值为插入成功的元素个数long result1=jedis.zadd("key1",10,"zhangsan");System.out.println("result1:"+result1);Map<String,Double> map=new HashMap<>();map.put("lisi",20.0);map.put("wangwu",30.0);//配合 Map,一次性向 key1 对应的有序集合中插入两个元素//返回值为插入成功的元素个数long result2=jedis.zadd("key1",map);System.out.println("result2:"+result2);//获取 key1 对应的有序集合中,下标 0 ~ -1(最后一位)之间的所有元素List<String> result3=jedis.zrange("key1",0,-1);System.out.println("result3:"+result3);//获取 key1 对应的有序集合中,下标 0 ~ -1(最后一位)之间的所有元素和分数// Tuple 是 Jedis 中定义的类,表示元组,元素和分数表示一个二元组List<Tuple> elementAndScore=jedis.zrangeWithScores("key1",0,-1);System.out.println("elementAndScore:"+elementAndScore);//通过 List<Tuple> 类型的对象可以获取指定下标元组的元素String result4=elementAndScore.get(0).getElement();System.out.println("result4:"+result4);//通过 List<Tuple> 类型的对象可以获取指定下标元组的分数Double result5=elementAndScore.get(0).getScore();System.out.println("result5:"+result5);}

运行结果

使用命令 zcard

    /*** 使用命令 zcard* */public static void test2(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);//获取有序集合 key1 中的元素个数long result1=jedis.zcard("key1");System.out.println("result1:"+result1);}

运行结果

使用命令 zrem

    /*** 使用命令 zrem* */public static void test3(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);//删除 key1 对应的有序集合中的元素 zhangsan 和 lisi ,返回删除成功的元素个数long result1=jedis.zrem("key1","zhangsan","lisi");System.out.println("result1:"+result1);}

运行结果

使用命令 zscore

    /*** 使用命令 zscore* */public static void test4(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);Double result1=jedis.zscore("key1","zhangsan");System.out.println("result1:"+result1);}

运行结果

使用命令 zrank

    /*** 使用命令 zrank* */public static void test5(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);//获取 key1 对应的有序集合中,元素 zhangsan 对应的排名Long result1=jedis.zrank("key1","zhangsan");System.out.println("result1:"+result1);}

运行结果

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

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

相关文章

003 redis分布式锁 jedis分布式锁 Redisson分布式锁 分段锁

文章目录 Redis分布式锁原理1.使用set的命令时&#xff0c;同时设置过期时间2.使用lua脚本&#xff0c;将加锁的命令放在lua脚本中原子性的执行 Jedis分布式锁实现pom.xmlRedisCommandLock.javaRedisCommandLockTest.java 锁过期问题1乐观锁方式&#xff0c;增加版本号(增加版本…

一、计算机基础(Java零基础一)

&#x1f33b;&#x1f33b;目录 一、&#x1f33b;&#x1f33b;剖析学习Java前的疑问&#x1f33b;&#x1f33b;1.1 零基础学习编程1.2 英语不好能学吗&#xff1f;1.3 理解慢能学好吗&#xff1f;1.4 现在学Java晚吗&#xff1f;1.5 Java 和 Python 还有 Go 的选择1.6 Java…

Elasticsearch 索引、类型、文档、分片与副本等核心概念介绍

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《洞察之眼&#xff1a;ELK监控与可视化》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Elasticsearch简介 2、分布式搜索引擎的工作原理…

【Linux】在Linux中执行命令ifconfig, 报错-bash:ifconfig: command not found解决方案

一、报错信息 ifconfig 报错-bash:ifconfig: command not found 同时&#xff0c;通过ip addr查看&#xff0c;也看不到IP信息 二、解决方案 找到ifcfg-ens0文件&#xff0c;此文件的目录在/etc/sysconfig/network-scripts目录下 命令&#xff1a;cd /etc/sysconfig/network…

英语学习笔记9——How are you today?

How are you today? 你好吗&#xff1f; 词汇 Vocabulary well adj. 好的 n. 井 fine adj. 美好的 两个方面&#xff1a;天气、身体。 搭配&#xff1a;a fine day 晴朗的一天    It’s a fine day today. 今天很晴朗。 good adj. 好的 口语偏多 搭配&#xff1a;Good jo…

【2022 深圳 ArchSummit 】大数据架构稳定性保障实践

文章目录 一、前言二、现状三、大数据架构的历史变迁&#xff08;一&#xff09;洪荒期&MR&#xff08;二&#xff09;远古期&MPP&#xff08;四&#xff09;近现代&Flink/Spark&#xff08;五&#xff09;现如今&实时数据湖架构 四、架构稳定的关键因素&#…

Bert 在 OCNLI 训练微调

目录 0 资料1 预训练权重2 wandb3 Bert-OCNLI3.1 目录结构3.2 导入的库3.3 数据集自然语言推断数据集路径读取数据集数据集样例展示数据集类别统计数据集类加载数据 3.4 Bert3.4 训练 4 训练微调结果3k10k50k 0 资料 【数据集微调】 阿里天池比赛 微调BERT的数据集&#xff0…

UE5(射线检测)学习笔记

这一篇会讲解射线检测点击事件、离开悬停、进入悬停事件的检测&#xff0c;以及关闭射线检测的事件&#xff0c;和射线检测蓝图的基础讲解。 创建一个简单的第三人称模板 创建一个射线检测的文件夹RadiationInspection&#xff0c;并且右键蓝图-场景组件-命名为BPC_Radiation…

路由模块封装

目录 一、问题引入 二、步骤 一、问题引入 随着项目内容的不断扩大&#xff0c;路由也会越来越多&#xff0c;把所有的路由配置都堆在main.js中就不太合适了&#xff0c;所以需要将路由模块抽离出来。其好处是&#xff1a;拆分模块&#xff0c;利于维护。 二、步骤 将路由相…

linux PXE高效批量网络装机

PXE批量部署的优点 规模化&#xff1a;同时装配多台服务器 自动化&#xff1a;安装系统、配置各种服务 远程实现&#xff1a;不需要光盘、U盘等安装介质 部署PXE远程安装服务 搭建PXE远程安装服务器 先做好初始化准备 1.安装并启用 TFTP 服务 yum -y install tftp-server …

从开发角度理解漏洞成因(02)

文章目录 文件上传类需求文件上传漏洞 文件下载类需求文件下载漏洞 扩展 留言板类&#xff08;XSS漏洞&#xff09;需求XSS漏洞 登录类需求cookie伪造漏洞万能密码登录 持续更新中… 文章中代码资源已上传资源&#xff0c;如需要打包好的请点击PHP开发漏洞环境&#xff08;SQL注…

缓存相关问题:雪崩、穿透、预热、更新、降级的深度解析

✨✨祝屏幕前的小伙伴们每天都有好运相伴左右✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 1. 缓存雪崩 1.1 问题描述 1.2 解决方案 1.2.1 加锁防止并发重建缓存 2. 缓存穿透 2.1 问题描述 2.2 解决方案 2.2.1 …

基于TL431和CSA的恒压与负压输出

Hello uu们,51去那里玩了呀?该收心回来上班了,嘿嘿! 为什么会有这个命题,因为我的手头只有这些东西如何去实现呢?让我们一起来看电路图吧.电路图如下图1所示 图1:CSA恒压输出电路 图1中,R1给U2提供偏置,Q1给R1提供电流,当U1-VOUT输出大于2.5V时候,U2内部的三极管CE导通,使得…

Golang | Leetcode Golang题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; func setZeroes(matrix [][]int) {n, m : len(matrix), len(matrix[0])col0 : falsefor _, r : range matrix {if r[0] 0 {col0 true}for j : 1; j < m; j {if r[j] 0 {r[0] 0matrix[0][j] 0}}}for i : n - 1; i > 0; i-- {for …

Python的Web框架Flask+Vue生成漂亮的词云图

生成效果图 输入待生成词云图的文本&#xff0c;点击生成词云即可&#xff0c;在词云图生成之后&#xff0c;可以点击下载图片保存词云图。 运行步骤 分别用前端和后端编译器&#xff0c;打开backend和frontend文件夹。前端运行 npm install &#xff0c;安装相应的包。后端…

【prometheus】Pushgateway安装和使用

目录 一、Pushgateway概述 1.1 Pushgateway简介 1.2 Pushgateway优点 1.3 pushgateway缺点 二、测试环境 三、安装测试 3.1 pushgateway安装 3.2 prometheus添加pushgateway 3.3 推送指定的数据格式到pushgateway 1.添加单条数据 2.添加复杂数据 3.SDk-prometheus-…

Python深度学习基于Tensorflow(8)自然语言处理基础

RNN 模型 与前后顺序有关的数据称为序列数据&#xff0c;对于序列数据&#xff0c;我们可以使用循环神经网络进行处理&#xff0c;循环神经网络RNN已经成功的运用于自然语言处理&#xff0c;语音识别&#xff0c;图像标注&#xff0c;机器翻译等众多时序问题&#xff1b;RNN模…

16地标准化企业申请!安徽省工业和信息化领域标准化示范企业申报条件

安徽省工业和信息化领域标准化示范企业申报条件有哪些&#xff1f;合肥市 、黄山市 、芜湖市、马鞍山、安庆市、淮南市、阜阳市、淮北市、铜陵市、亳州市、宣城市、蚌埠市、六安市 、滁州市 、池州市、宿州市企业申报安徽省工业和信息化领域标准化示范企业有不明白的可在下文了…

《TAM》论文笔记(上)

原文链接 [2005.06803] TAM: Temporal Adaptive Module for Video Recognition (arxiv.org) 原文代码 GitHub - liu-zhy/temporal-adaptive-module: TAM: Temporal Adaptive Module for Video Recognition 原文笔记 What&#xff1a; TAM: Temporal Adaptive Module for …

JAVA系列:IO流

JAVA IO流 IO流图解 一、什么是IO流 I/O流是Java中用于执行输入和输出操作的抽象。它们被设计成类似于流水&#xff0c;可以在程序和外部源&#xff08;如文件、网络套接字、键盘、显示器等&#xff09;之间传输数据。按处理数据单位分为&#xff1a; 1字符 2字节 、 1字节(…