021_Jedis的ZSet数据类型
1. 新建一個名為JedisZSet的Java項目, 拷入相關jar包, 并添加到build path
2. 向有序集合添加一個或多個成員
2.1. 代碼
2.2. 運行效果
3. 通過索引區間返回有序集合指定區間內的成員
3.1. 代碼
3.2. 運行效果
4. 通過索引區間返回有序集合指定區間內的成員(分數從高到低)
4.1. 代碼
4.2. 運行效果
5. 獲取有序集合的成員數
5.1. 代碼
5.2. 運行效果
6. 返回有序集合中指定成員的索引
6.1. 代碼
6.2. 運行效果
7. 返回有序集中成員的分數值
7.1. 代碼
7.2. 運行效果
8. 返回有序集合中指定成員的排名(從大到小)
8.1. 代碼
8.2. 運行效果
9. 計算在有序集合中指定區間分數的成員數
9.1. 代碼
9.2. 運行效果
10. 有序集合中對指定成員的分數加上增量increment
10.1. 代碼
10.2. 運行效果
11. 計算給定的一個或多個有序集的交集并將結果存儲在新的有序集合中
11.1. 代碼
11.2. 運行效果
12. 計算給定的一個或多個有序集的并集并將結果存儲在新有序集合中
12.1. 代碼
12.2. 運行效果
13. 移除有序集合中的一個或多個成員
13.1. 代碼
13.2. 運行效果
14. 移除有序集合中給定的排名區間的所有成員
14.1. 代碼
14.2. 運行效果
15. 移除有序集合中給定的分數區間的所有成員
15.1. 代碼
15.2. 運行效果
16. 完整代碼
16.1. RedisZSet.java
package com.redis.zset;import java.util.HashMap; import java.util.Map; import redis.clients.jedis.Jedis;/*** zset有序集合*/ public class RedisZSet {public static void main(String[] args) {jedisZremrangeByScore();}/*** Jedis向有序集合添加一個或多個成員*/public static void jedisZadd() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("向student集合中添加了" + jedis.zadd("student", 1, "1001") + "個成員");Map<String, Double> map = new HashMap<String, Double>();map.put("xiaohong", 2D);map.put("16", 3D);map.put("女", 4D);System.out.println("向student集合中添加了" + jedis.zadd("student", map) + "個成員");System.out.println("向user集合中添加了" + jedis.zadd("user", 1, "1002") + "個成員");map.clear();map.put("xiaolan", 2D);map.put("16", 3D);map.put("女", 4D);System.out.println("向user集合中添加了" + jedis.zadd("user", map) + "個成員");jedis.close();}/*** Jedis通過索引區間返回有序集合指定區間內的成員*/public static void jedisZrange() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println(jedis.zrange("student", 0, -1));System.out.println(jedis.zrangeWithScores("student", 0, -1));jedis.close();}/*** Jedis通過索引區間返回有序集合指定區間內的成員(分數從高到低)*/public static void jedisZrevrange() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println(jedis.zrevrange("student", 0, -1));System.out.println(jedis.zrevrangeWithScores("student", 0, -1));jedis.close();}/*** Jedis獲取有序集合的成員數*/public static void jedisZcard() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("student集合中有" + jedis.zcard("student") + "個成員");System.out.println("user集合中有" + jedis.zcard("user") + "個成員");jedis.close();}/*** Jedis返回有序集合中指定成員的索引*/public static void jedisZrank() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("student集合中1001的索引: " + jedis.zrank("student", "1001"));System.out.println("student集合中16的索引: " + jedis.zrank("student", "16"));jedis.close();}/*** Jedis返回有序集中成員的分數值*/public static void jedisZscore() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("student集合中1001的分數: " + jedis.zscore("student", "1001"));System.out.println("student集合中16的分數: " + jedis.zscore("student", "16"));jedis.close();}/*** Jedis返回有序集合中指定成員的排名(從大到小)*/public static void jedisZrevrank() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println(jedis.zrevrange("student", 0, -1));System.out.println("student集合中16的索引: " + jedis.zrevrank("student", "16"));jedis.close();}/*** Jedis計算在有序集合中指定區間分數的成員數*/public static void jedisZcount() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("student集合1到3分數之間, 成員個數" + jedis.zcount("student", 1, 3));System.out.println("user集合2到4分數之間, 成員個數" + jedis.zcount("user", 2, 4));jedis.close();}/*** Jedis有序集合中對指定成員的分數加上增量increment*/public static void jedisZincrby() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("student集合成員: " + jedis.zrevrangeWithScores("student", 0, -1));System.out.println("student集合1001成員分數: " + jedis.zincrby("student", 10, "1001"));System.out.println("sxxx集合lisi成員分數: " + jedis.zincrby("sxxx", 10, "lisi"));System.out.println("sxxx集合成員: " + jedis.zrevrangeWithScores("sxxx", 0, -1));System.out.println("student集合188.5成員分數: " + jedis.zincrby("student", 10, "188.5"));System.out.println("student集合成員: " + jedis.zrevrangeWithScores("student", 0, -1));jedis.close();}/*** Jedis計算給定的一個或多個有序集的交集并將結果存儲在新的有序集合中*/public static void jedisZinterstore() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("student集合和user集合的交集成員個數: " + jedis.zinterstore("suinter", "student", "user"));System.out.println("student集合和user集合的交集: " + jedis.zrangeWithScores("suinter", 0, -1));jedis.close();}/*** Jedis計算給定的一個或多個有序集的并集并將結果存儲在新有序集合中*/public static void jedisZunionstore() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("student集合和user集合的并集成員個數: " + jedis.zunionstore("suunion", "student", "user"));System.out.println("student集合和user集合的并集: " + jedis.zrangeWithScores("suunion", 0, -1));jedis.close();}/*** Jedis移除有序集合中的一個或多個成員*/public static void jedisZrem() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("從suunion集合移除" + jedis.zrem("suunion", "1001") + "個成員");System.out.println("從suunion集合移除" + jedis.zrem("suunion", "xiaolan", "188.5") + "個成員");jedis.close();}/*** Jedis移除有序集合中給定的排名區間的所有成員*/public static void jedisZremrangeByRank() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("suunion集合成員: " + jedis.zrange("suunion", 0, -1));System.out.println("從suunion集合移除" + jedis.zremrangeByRank("suunion", 0, 1) + "個成員, 它們的下標是0到1");System.out.println("suunion集合成員: " + jedis.zrange("suunion", 0, -1));jedis.close();}/*** Jedis移除有序集合中給定的分數區間的所有成員*/public static void jedisZremrangeByScore() {Jedis jedis = new Jedis("192.168.25.138", 6379);jedis.auth("lyw123456");System.out.println("user集合成員: " + jedis.zrangeWithScores("user", 0, -1));System.out.println("從user集合移除" + jedis.zremrangeByScore("user", 1, 3) + "個成員, 它們的分數是1到3");System.out.println("user集合成員: " + jedis.zrangeWithScores("user", 0, -1));jedis.close();} }?
總結
以上是生活随笔為你收集整理的021_Jedis的ZSet数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 020_Jedis的Set数据类型
- 下一篇: 009_Redis的事物