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

下篇再见。

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

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

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

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

相关文章

编程历史

编程历史&#xff1a; 编程语言的历史早于真正意义的计算机的出现。19世纪就有"可编程的"织布机和钢琴弹奏装置出现&#xff0c;它们都是领域特定语言(DSL)的样例。 从1951年2014年&#xff0c;人类一共发明了256种编程语言&#xff0c;每一种语言的出现都带有某些新…

python删除字符串中指定字符

最近开始学机器学习,学习分析垃圾邮件,其中有一部分是要求去除一段字符中的标点符号,查了一下,网上的大多很复杂例如这样 import re temp "想做/ 兼_职/学生_/ 的 、加,我Q&#xff1a; 1 5. 8 0. &#xff01;&#xff01;&#xff1f;&#xff1f; 8 6 。0. 2。 …

vue结合ueditor富文本编辑器(换肤分离)

需求 (PC端)做一个可以使用图片上传、视频上传、文件上传功能的富文本组件&#xff0c;简单的文本编辑发布功能,采用socket方式传输&#xff0c; 做法 当时看到这个需求&#xff0c;我觉得是不难的,就去github上找富文本编辑器&#xff0c;因为项目比较急&#xff0c;当时我…

linux中samba启动不了,Linux_RHEL5中不用关闭SELinux而成功启动Samba,RHEL5中的samba服务器启动后,能 - phpStudy...

RHEL5中不用关闭SELinux而成功启动SambaRHEL5中的samba服务器启动后&#xff0c;能看到共享目录&#xff0c;但是不能访问共享目录&#xff0c;告知权限不够。此时可以通过如下命令&#xff1a;tail /var/log/message看到如此提示&#xff1a;/home/lyy does not exist or perm…

使用MyBatis框架时发现的一些小bug

在大配置MyBatis.xml中&#xff1a; 不能有空节点属性 &#xff0c;否则启动服务器后点击登录没有反应。 异常问题&#xff1a; ause: java.sql.SQLException: Value 0000-00-00 00:00:00 can not be represented as java.sql.Timestamp&#xff1a; 解决办法&#xff1a; HTT…

JSF Tomcat配置示例

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

野指针与内存泄漏那些事

野指针&#xff1a;不是NULL指针&#xff0c;是指向垃圾内存的指针 野指针成因&#xff1a; 1.指针变量没有被初始化&#xff1a;指针变量在创建时同时应当被初始化&#xff0c;要么将指针设置为NULL&#xff0c;要么让它指向合法的内存。 2.指针p被free或者delete,没有被设置为…

c语言入门经典案例,c语言入门经典案例及飞源代码.doc

c语言入门经典案例及飞源代码循环控制输出图案【程序1】题目&#xff1a;输出9*9口诀。1.程序分析&#xff1a;分行与列考虑&#xff0c;共9行9列&#xff0c;i控制行&#xff0c;j控制列。2.程序源代码&#xff1a;#include "stdio.h"main(){ int i,j,result; pri…

JS加密算法简单分析

这次分析百度音乐的评论请求的加密&#xff0c;首先先看包 看到有两个地方1. param&#xff0c;2. sign&#xff0c;基本可以断定sign是用的MD5加密的 那么我们从html页面分析入手&#xff0c;恰巧看到html代码中有写到这么一段 右键点击open in Source panel 熟悉的配方&…

RF新手常见问题总结--(基础篇)

RF新手常见问题总结--(基础篇) 学RF快一年了&#xff0c;经常碰到一些问题&#xff0c;有些同学也经常问到&#xff0c;这里总结一些&#xff0c;期望有人后续再补充&#xff0c;主要是响应群里--雪霁大神的号召&#xff0c;技术共享。废话少说&#xff0c;直接上干货了。1. 经…

Java自动拆箱陷阱。 谨防!

您认为以下代码段会显示什么&#xff1f; Object o true ? new Integer(1) : new Double(2.0); System.out.println(o);是! 它将打印&#xff1a; 1.0什么&#xff1f; 1.0&#xff1f; 但是我已经为我的o变量分配了一个Integer 。 为什么打印1.0&#xff1f; 事实证明&…

golang学习笔记(6)--面向接口编程

一、 duck typing duck typing意思是鸭子类型&#xff0c;我们把具备鸭子的行为等部分特征的一个东西叫做鸭子&#xff0c;这是鸭子类型的解释。其实&#xff0c;在go语言中是采用鸭子类型这种思想来实现接口这种编程方式的&#xff0c;我们把一个类只要实现了某接口的方法&…

c语言self用法,C/C++知识点之Self Numbers C语言 UVA640

本文主要向大家介绍了C/C知识点之Self Numbers C语言 UVA640&#xff0c;通过具体的内容向大家展示&#xff0c;希望对大家学习C/C知识点有所帮助。In 1949 the Indian mathematician D.R. Kaprekar discovered a class ofnumbers called self-numbers. For any positive integ…

JS 的平凡之路--学习人气眼中的效果(上)

最近看了看人气眼的界面&#xff0c;感觉到学习的地方有很多呀。这里先带大家看看人气值跳动的实现。本篇代码基于Vue2.x.x。 一、概要 首先看一下效果图&#xff1a; 要想实现上面的效果&#xff0c;我们分为这几个部分&#xff1a; 判断元素是否在可视区域内&#xff1b;函数…

[Swift]LeetCode86. 分隔链表 | Partition List

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

XmlNode与XmlElement的区别总结

原文链接&#xff1a;http://www.cnblogs.com/oilsun/archive/2012/07/07/2580427.html 今 天在做ASP.NET操作XML文档的过程中&#xff0c;发现了两个类&#xff1a;XmlNode和XmlElement。这两个类的功能极其类似&#xff08;因为我们一般都是在对 Element节点进行操作&#xf…

HOW TO:构造Java类

在这篇HowTo帖子中&#xff0c;我将展示如何将一个类与另一个类一起定型。 为什么这有用&#xff1f; 当您的项目中发生大量BCI时&#xff0c;让每个开发人员编写BCI代码都是不明智的。 首先&#xff0c;这不会抽象出所使用的BCI库。 鉴于Java不支持多重继承&#xff0c;构造型…

android horizontalscrollview 动画,Android HorizontalScrollView左右滑动效果

本文实例为大家分享了Android HorizontalScrollView左右滑动的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下效果图一.什么是HorizontalScrollViewHorizontalScrollView实际上是一个FrameLayout ,这意味着你只能在它下面放置一个子控件 &#xff0c;这个子控件可以包…

[译] Airbnb 在 React Native 上下的赌注(一):概述

原文地址&#xff1a;React Native at Airbnb原文作者&#xff1a;Gabriel Peal译文出自&#xff1a;掘金翻译计划本文永久链接&#xff1a;https://github.com/xitu/gold-miner/blob/master/TODO1/react-native-at-airbnb.md译者&#xff1a;ALVINYEH校对者&#xff1a;ChenDo…

noip退役之路--祝福

原文地址&#xff1a;bb机的老巢 文/鲁迅 noip前的集训毕竟最像集训&#xff0c;去北京不必说&#xff0c;就在自己学校的机房中也显出将到noip的气象来。屏幕广播里讲解的题目闪着斑白的微光&#xff0c;随着鼠标叩击“提交”按钮的一声钝响&#xff0c;是直播ac后的欢呼&…