通过Jedis API使用排序集
在上一篇文章中,我们开始研究Jedis API和Java Redis Client。 在本文中,我们将研究Sorted Set(zsets)。
排序集的工作方式类似于集,因为它不允许重复的值。 最大的区别在于,在“排序集”中,每个元素都有一个分数,以便保持元素的排序。
我们可以在下面看到一些命令:
import java.util.HashMap;
import java.util.Map;import redis.clients.jedis.Jedis;
public class TestJedis {public static void main(String[] args) {String key = "mostUsedLanguages";Jedis jedis = new Jedis("localhost");//Adding a value with score to the setjedis.zadd(key,100,"Java");//ZADD//We could add more than one value in one callingMap<Double, String> scoreMembers = new HashMap<Double, String>();scoreMembers.put(90d, "Python");scoreMembers.put(80d, "Javascript");jedis.zadd(key, scoreMembers);//We could get the score for a memberSystem.out.println("Number of Java users:" + jedis.zscore(key, "Java"));//We could get the number of elements on the setSystem.out.println("Number of elements:" + jedis.zcard(key));//ZCARD}
}
在上面的示例中,我们看到了一些Zset命令。 为了将元素添加到zet中,我们设置了zadd方法,不同之处在于我们还传递了该元素的得分。 有一个重载版本,我们可以使用映射传递许多值。 zadd可用于添加和更新现有元素的分数。
我们可以使用zcard命令使用zscore和元素数量获得给定元素的分数。
下面我们可以看到zsets的其他命令:
import java.util.Set;import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
public class TestJedis {public static void main(String[] args) {String key = "mostUsedLanguages";Jedis jedis = new Jedis("localhost");//get all the elements sorted from bottom to topSystem.out.println(jedis.zrange(key, 0, -1));//get all the elements sorted from top to bottomSystem.out.println(jedis.zrevrange(key, 0, -1));//We could get the elements with the associated scoreSet<Tuple> elements = jedis.zrevrangeWithScores(key, 0, -1);for(Tuple tuple: elements){System.out.println(tuple.getElement() + "-" + tuple.getScore());}//We can increment a score for a element using ZINCRBYSystem.out.println("Score before zincrby:" + jedis.zscore(key, "Python"));//Incrementing the element scorejedis.zincrby(key, 1, "Python");System.out.println("Score after zincrby:" + jedis.zscore(key, "Python"));}
}
使用zrange,我们可以获取给定范围的元素。 它返回从下到上排序的元素。 我们可以使用zrevrrange方法从上到下获取元素。 Redis还允许我们获取具有相关分数的元素。 在redis中,我们传递选项“ withscores ”。 通过Jedis API,我们使用方法zrevrangeWithScores返回一个元组对象集。 其他有用的命令是zincrby ,我们可以增加集合中某个成员的分数。
zsets还有其他命令,本文仅旨在显示Jedis API的一些基本用法。 我们可以在这篇文章中找到排序集的好用例。
下篇再见。
翻译自: https://www.javacodegeeks.com/2013/11/using-sorted-sets-with-jedis-api.html
通过Jedis API使用排序集相关推荐
- jedis_通过Jedis API使用排序集
jedis 在上一篇文章中,我们开始研究Jedis API和Java Redis Client. 在本文中,我们将研究Sorted Set(zsets). Sorted Set不允许重复的值,就像Se ...
- jedis使用 api_通过Jedis API使用排序集
jedis使用 api 在上一篇文章中,我们开始研究Jedis API和Java Redis Client. 在这篇文章中,我们将研究Sorted Set(zsets). Sorted Set的工作方 ...
- Java API访问HDFS集群(HA)
title: Java API访问HDFS集群(HA) date: 2021-06-23 17:06:11 tags: HDFS hadoopV2版本及以后都是HA架构,active namenode ...
- Kubernetes API Server 之集群安全认证
文章目录 前言 一.为什么要有 api-server 集群安全认证? 二.安全机制的三个流程 三.HTTP Bearer Token 认证 四.HTTPS 双向证书认证 总结 前言 kubernete ...
- (七)使用jedis连接单机和集群(一步一个坑踩出来的辛酸泪)
环境准备: redis-4.0.9,最新版了 ruby:redis-x.x.x.gem 这个gem什么版本都行,我redis4用3.0.0的gem正常跑 jedis-2.9.0.jar,最新版 ...
- python连接es数据库_Python Elasticsearch API操作ES集群
环境Centos 7.4 Python 2.7 Pip 2.7 MySQL-python 1.2.5 Elasticsearc 6.3.1 Elasitcsearch6.3.2 知识点调用Python ...
- MapReduce Java API实例-排序
场景 MapReduce Java API实例-统计单词出现频率: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11941016 ...
- 使用HDFS客户端java api读取hadoop集群上的信息
本文介绍使用hdfs java api的配置方法. 1.先解决依赖,pom <dependency><groupId>org.apache.hadoop</groupId ...
- ArcEngine二次开发API之Bug集(一 )
今天,在本集(一)中给大家讲三个bug的集,这三个bug害的我弄了好几天,这几天的教训,也让我明白了今后的开发中,也不能完全相信API,难免API也会出现使用描述的错误. 1.GP之ExtractBy ...
最新文章
- java excel上传--poi
- python笔记之序列(str的基本使用和常用操作)
- android 文字fly动画,超好看的下拉刷新动画Android代码实现
- http --- 路由器缓存与常见的状态码
- 图解 5 种 Join 连接及实战案例!(inner/ left/ right/ full/ cross)
- TestNG执行测试方法依赖关系
- MySQL表设计(表的关联关系)
- 隐藏input的光标
- python做3d相册_简单3D翻页相册制作教程(示例代码)
- github构建自己的代码库
- 主分区损坏diskgenius_Diskgenius硬盘分区表坏了不要紧 用软件三步就能修复
- php 自动抢红包机制,用脚本实现自动抢红包
- 手机计算机怎么缩小桌面图标,桌面图标怎么变小-iPhone图标突然变大?不要方,来看看这几招...
- HMAC-SHA1加密算法c++与java的实现
- 圣诞树Easyx绘图
- php支持postgresql,php支持postgresql
- Android学习笔记----解决“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536”问题
- 魔百盒M401A_晶晨S905L3A_2+16G_安卓9_原厂卡刷固件包及详细教程
- 四轴飞行器-概念扫盲
- Android WebView 精简Demo
热门文章
- 阅读副本和Spring Data第2部分:配置基础项目
- gwt格式_活性GWT
- apache isis_使用Apache Isis快速进行SEMAT应用程序开发
- junit:junit_简而言之,JUnit:另一个JUnit教程
- java 调用 js性能_太快了,太变态了:什么会影响Java中的方法调用性能?
- Spring Data Redis:Sentinel的高可用性
- jenkins部署java_在Window上使用Jenkins自动部署和上传快照Java工件
- couchbase_使用Couchbase分页
- 知识蒸馏 循环蒸馏_Java垃圾收集蒸馏
- eventbus多个订阅_番石榴的EventBus –简单的发布者/订阅者