jedis

在上一篇文章中,我们开始研究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可用于添加和更新现有元素的分数。

我们可以使用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

jedis

jedis_通过Jedis API使用排序集相关推荐

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

    jedis使用 api 在上一篇文章中,我们开始研究Jedis API和Java Redis Client. 在这篇文章中,我们将研究Sorted Set(zsets). Sorted Set的工作方 ...

  2. 通过Jedis API使用排序集

    在上一篇文章中,我们开始研究Jedis API和Java Redis Client. 在本文中,我们将研究Sorted Set(zsets). 排序集的工作方式类似于集,因为它不允许重复的值. 最大的 ...

  3. Java API访问HDFS集群(HA)

    title: Java API访问HDFS集群(HA) date: 2021-06-23 17:06:11 tags: HDFS hadoopV2版本及以后都是HA架构,active namenode ...

  4. Kubernetes API Server 之集群安全认证

    文章目录 前言 一.为什么要有 api-server 集群安全认证? 二.安全机制的三个流程 三.HTTP Bearer Token 认证 四.HTTPS 双向证书认证 总结 前言 kubernete ...

  5. (七)使用jedis连接单机和集群(一步一个坑踩出来的辛酸泪)

    环境准备: redis-4.0.9,最新版了 ruby:redis-x.x.x.gem    这个gem什么版本都行,我redis4用3.0.0的gem正常跑 jedis-2.9.0.jar,最新版 ...

  6. 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 ...

  7. MapReduce Java API实例-排序

    场景 MapReduce Java API实例-统计单词出现频率: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11941016 ...

  8. 使用HDFS客户端java api读取hadoop集群上的信息

    本文介绍使用hdfs java api的配置方法. 1.先解决依赖,pom <dependency><groupId>org.apache.hadoop</groupId ...

  9. ArcEngine二次开发API之Bug集(一 )

    今天,在本集(一)中给大家讲三个bug的集,这三个bug害的我弄了好几天,这几天的教训,也让我明白了今后的开发中,也不能完全相信API,难免API也会出现使用描述的错误. 1.GP之ExtractBy ...

最新文章

  1. python比较两个xml_python比较2个xml内容的方法
  2. java数数字及while和do while 的使用,以及程序的调试与验证
  3. Saltstack Master 配置文件详解
  4. 群体智能,多个机器人协同搬运!
  5. 比较Java 8中的命令式和功能性算法
  6. python困境_学习 Python 编程的三种困境
  7. grafana将自己的数据库(hbase)设置为数据源
  8. c#和javascript分别轻松实现计算24点
  9. 跟着鬼哥学so修改,五,实例第二篇
  10. 华为这份关于专利的会议纪要,都说了什么?(内含华为十大发明彩蛋)
  11. 如何把证件照裁剪到需要的尺寸?小一寸证件照的尺寸是多少?
  12. 采访了12位中年程序员,听听他们的故事和人生!
  13. superset汉化
  14. 设计模式学习第二十二节 策略模式
  15. [图像]中值滤波(Matlab实现)
  16. JSON对象转java对象 JSON数组转LIST数组
  17. Python 等值线生成(TIN三角网)
  18. 柯基数据:先进的知识图谱技术,构建行业知识图谱,助企业打通内部信息孤岛,链接海量数据 |百万人学AI评选
  19. 如何修改论文降低重复率
  20. Planned Delivery Time Calculation

热门文章

  1. Redis进阶实践之五Redis的高级特性
  2. 第四次作业 孙保平034 李路平029
  3. XenApp_XenDesktop_7.6实战篇之十四:XenDesktop虚拟桌面的交付
  4. -bash:command not found
  5. JVM(Java虚拟机)优化大全和案例实战
  6. 缓存淘汰算法之LRU
  7. golang map 排序
  8. linux rootkit 新型 HORSE PILL 简介
  9. linux uts namespace 提供了主机名和域名的隔离 docker中被用到
  10. linux socket关闭连接 shutdown与close