通过Jedis API使用排序集
在上一篇文章中,我們開始研究Jedis API和Java Redis Client。 在本文中,我們將研究Sorted Set(zsets)。
排序集的工作方式類似于集,因為它不允許重復的值。 最大的區別在于,在“排序集”中,每個元素都有一個分數,以便保持元素的排序。
我們可以在下面看到一些命令:
在上面的示例中,我們看到了一些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使用排序集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: x86上的Java最终字段没有操作?
- 下一篇: 批处理最佳做法