jedis使用 api_通过Jedis API使用排序集

jedis使用 api

在上一篇文章中,我们开始研究Jedis API和Java Redis Client。 在这篇文章中,我们将研究Sorted Set(zsets)。

Sorted Set的工作方式类似于Set,它不允许重复的值。 最大的区别是,在“排序集”中,每个元素都有一个分数,以便保持元素的排序。

我们可以在下面看到一些命令:

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可用于添加和更新现有元素的分数。

我们可以使用zcardzcard命令获得给定元素的分数和元素数量。

下面我们可以看到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的一些基本用法。 我们可以在这篇文章中找到排序集的好用例。

下篇再见。

参考: XICO JUNIOR'S WEBLOG博客中的JCG合作伙伴 Francisco Ribeiro Junior 结合使用带有Jedis API的排序集 。

翻译自: https://www.javacodegeeks.com/2013/11/using-sorted-sets-with-jedis-api.html

jedis使用 api

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

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

相关文章

三星ml1660拆机图解_炫龙DD2拆机,高性能的背后是怎样的面容?

双内存插槽 如标题所说&#xff0c;今天为大家带来炫龙DD2的图解拆机&#xff0c;废话少说&#xff0c;直接进入主题吧&#xff01;笔者对炫龙毁灭者DD2进行了简单拆解&#xff0c;拆解方式为打开D壳&#xff0c;查看散热模组和各部分硬件。炫龙毁灭者DD2延续了品牌一贯传统&am…

jwt-cli:一个用于解码JSON Web令牌(JWT令牌)的Shell库

当我开始经常需要解码JSON Web令牌时&#xff0c;我感到迫切需要编写允许我快速进行操作的程序。 有很多不错的选项&#xff0c;例如jwt.io &#xff0c;但是一旦您需要执行此操作&#xff0c;它通常就会变得笨拙。 而且&#xff0c;如果您需要处理多个令牌或进一步处理输出&am…

目录页码错误未定义书签怎么解决_目录页码对不齐应该怎么办?这2种方法,工作效率大增...

在制作文档目录时&#xff0c;你有没有遇到下图情况&#xff1a;右侧页码不对齐或者左侧文本不对齐&#xff0c;你一般是如何处理的&#xff0c;与大家分享相关的2种解决办法。工作效率大增&#xff01;1、目录页码不对齐该怎么办&#xff1f;遇到这种情况&#xff0c;一般是制…

三阶魔方大中小魔公式_三阶魔方的入门玩法教程|魔方玩法|魔方视频教程|魔方公式图解|--想成为魔方高手就来魔方乐园吧...

深圳魔方爱好者可以到实体店跟魔方老师学魔方了&#xff01;查询店铺地址在正式开始学习魔方还原前&#xff0c;请进入网站的首页&#xff0c;抽上10分钟的时间学习一些魔方的基础知识&#xff0c;这样会很有利于我们下面的学习&#xff0c;在还原的过程中有碰到疑问可以在线和…

初步了解Redis Streams以及如何在Java中使用它们

自今年年初以来&#xff0c;Redis Streams已进入Redis的unstable分支&#xff0c;并且第一个客户端始于采用Redis Streams API。 因此&#xff0c;这是一个绝佳的时机&#xff0c;可以从客户端角度看一下Redis Streams提供的功能以及如何使用它们。 免责声明&#xff1a;Redis…

权限丢失_不要让任何“账户权限”问题困扰你!

在Win10系统使用中时不时被“账户权限”问题困扰&#xff1f;别怕&#xff0c;有我呢~关闭更改系统相关设置时的通知不愿被安装软件、更改Windows设置时弹出的通知所打扰时&#xff0c;可以搜索【UAC】&#xff08;若没有搜索框&#xff0c;请使用【Win】【Q】快捷键调出&#…

python函数返回的元组_python – 从函数返回一个单独的元组元组

刚刚在Python中遇到了这样一些奇怪的事情&#xff0c;并且认为我会将其记录为一个问题&#xff0c;以防其他任何人试图用相同的无效搜索条件找到答案看起来像元组解包使得它不能返回长度为1的元组&#xff0c;如果您希望迭代返回值。虽然看起来似乎是欺骗。看到答案。>>&…

java 反射操作字段_x86上的Java最终字段没有操作?

java 反射操作字段我一直很乐于深入研究多线程编程的细节&#xff0c;并且尽管阅读了多年的CPU内存一致性模型&#xff0c;无等待和无锁算法&#xff0c;Java内存模型&#xff0c;实践中的Java并发性等知识&#xff0c;但我总是很喜欢。等等-我仍然会创建多线程编程错误。 总是…

卡方分布分位数_卡方检验和精确概率法及两两比较

看过许多统计教程&#xff0c;这篇是我最推荐的介 绍数值变量如果服从正态分布&#xff0c;采用均数标准差进行统计描述&#xff0c;采用方差分析进行组间比较&#xff0c;如果组间差异有统计学意义&#xff0c;进一步采用LSD法(也可以是其它方法)进行两两比较。如果不服从正…

arcgis渔网分割提取栅格图_【操作】ArcGIS中字段的合并、分割、提取

由于种种原因&#xff0c;可能涉及到要对ArcGIS属性字段进行合并、分割、提取等操作&#xff0c;我们可以在Excel中进行运算&#xff0c;然后连接到ArcGIS中&#xff0c;这里主要介绍下通过属性表字段计算器的操作方法。目标① 合并“名称”、“代码”字段内容到新建字段“用地…

ds排序--希尔排序_图解直接插入排序和希尔排序

前言这次我们介绍插入类排序中的 直接插入排序 和 希尔排序 。对于直接插入排序&#xff0c;虽然它的时间复杂度也是 O(n^2) &#xff0c;但是在元素 有序或近乎有序 的情况下&#xff0c;时间复杂度可以降为 O(n) &#xff0c;效率比 O(nlogn) 的算法还要高。然而对于大规模的…

jsf 配置_JSF Tomcat配置示例

jsf 配置JavaServer Faces (JSF)是一个Web应用程序框架&#xff0c;旨在简化基于Web的用户界面的开发集成。 它用于开发和构建服务器端用户界面组件&#xff0c;并在Web应用程序中使用它们。 JSF技术基于Model-View-Controller (MVC)架构&#xff0c;并且通过在页面中使用可重用…

tomcat8日志乱码_Tomcat输出日志乱码解决

请先检查一下是不是由于log4J没有指定编码方式所导致的.log4j.appender.File org.apache.log4j.DailyRollingFileAppender#重点是看一下有没有这个,如果没有则加上.#加上之后需要将之前的日志文件删除,否则有可能不会重新写入日志.log4j.appender.File.Encoding UTF-8log4j.a…

使用Datastax Java驱动程序与Cassandra进行交互

今天&#xff0c;我这次返回了更多的Cassandra和Java集成&#xff0c;重点是使用Datastax Java驱动程序&#xff0c;而不是我已经写了很多文章的Spring Data Cassandra。 Spring Data实际上使用了Datastax驱动程序来与Cassandra进行交互&#xff0c;但是在其之上还附带了一些额…

java forkjoin MySQL_Java并发fork-join框架

fork-join框架允许在几个工作进程中断某个任务&#xff0c;然后等待结果组合它们。 它在很大程度上利用了多处理器机器的生产能力。 以下是fork-join框架中使用的核心概念和对象。ForkFork是一个进程&#xff0c;其中任务将其分成可以并发执行的较小且独立的子任务。语法Sum le…

无法加载可扩展计数器_多核可扩展计数器

无法加载可扩展计数器到处都需要计数器&#xff0c;例如&#xff0c;查找应用程序的关键KPI&#xff0c;应用程序的负载&#xff0c;服务的请求总数&#xff0c;用于查找应用程序吞吐量的一些KPI等。 由于所有这些需求&#xff0c;并发复杂性也增加了&#xff0c;这使这个问题…

linux忘记mysql密码_linux下忘记mysql root密码解决办法 | 系统运维

引言&#xff1a;在linux系统中&#xff0c;如果忘记了MySQL的root密码&#xff0c;有没有办法重新设置新密码呢&#xff1f;答案是肯定的&#xff0c;下面教大家一个比较简单的重置MySQL root密码的办法&#xff1a;1、编辑MySQL配置文件my.cnf系统运维www.osyunwei.com温馨提…

Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫

最近&#xff0c;Oracle采用了一种新策略&#xff0c;即每六个月发布一次新的语言版本。 该策略假定只有每个第3版都将提供长期支持或LTS。 快速说明&#xff1a; 具有LTS的当前版本是Java 8&#xff1b; Java 9仅应在2018年3月之前获得支持&#xff0c;因此已经结束。 Java…

mysql从dos界面_从DOS界面进入MYSQL数据库

新手学习数据库&#xff0c;从比较简单的mysql开始。从DOS界面进入mysql数据库其实跟配置java环境变量一样&#xff0c;要先设置环境变量(右击我的电脑-属性-高级-环境变量)。找到mysql的安装位置&#xff0c;把安装目录下“...mysql\bin\"这个地址放到环境变量Path值中&a…

更快地重复访问Java的Java类名?

Claes Redestad在core-libs-dev邮件列表上发布了消息“ RRF&#xff1a;8187123 &#xff1a;&#xff08;反映&#xff09;Class&#xff03;getCanonicalName和Class&#xff03;getSimpleName是性能问题的一部分 ”&#xff0c;他在邮件列表中要求审查建议的更改“以启用缓存…