zoukankan      html  css  js  c++  java
  • 7、Redis中对ZSet类型的操作命令

    写在前面的话:读书破万卷,编码如有神
    --------------------------------------------------------------------
     
    --------------------------------------------------------------------
    1、zadd :添加元素,格式是:zadd zset的key score值 项的值, Score和项可以是多对,score可以是整数,也可以是浮点数,还可以是+inf表示无穷大,-inf表示负无穷大
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 import java.util.HashMap;
     4 import java.util.Map;
     5 
     6 /**
     7  * redis中对于ZSet类型的: zadd 操作示例
     8  * zadd :添加元素,格式是:zadd zset的key score值 项的值, Score和项可以是多对,score可以是整数,也可以是浮点数,还可以是+inf表示无穷大,-inf表示负无穷大
     9  */
    10 public class ZSet_zadd_operation {
    11     public static void main(String[] args) {
    12         Jedis jedis = new Jedis("127.0.0.1",6379);
    13 
    14         /**
    15          * 示例1: zadd zset的key score值 项的值, Score和项可以是多对,score可以是整数,也可以是浮点数,还可以是+inf表示无穷大,-inf表示负无穷大
    16          */
    17         Long zadd = jedis.zadd("myzset", 10.0, "v1");
    18         System.out.println("zadd = " + zadd);
    19         
    20 
    21         Map<String,Double> map = new HashMap<>();
    22         map.put("v2",20.0);
    23         map.put("v3",30.0);
    24         Long myzset = jedis.zadd("myzset", map);
    25         System.out.println("myzset = " + myzset);
    26     }
    27 }
    2、zrange :获取索引区间内的元素,格式是:zrange zset的key 起始索引 终止索引 (withscore)
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 import redis.clients.jedis.Tuple;
     3 
     4 import java.util.Set;
     5 
     6 /**
     7  * redis中对于ZSet类型的: zrange 操作示例
     8  * zrange :获取索引区间内的元素,格式是:zrange zset的key 起始索引 终止索引 (withscore)
     9  */
    10 public class ZSet_zrange_operation {
    11     public static void main(String[] args) {
    12         Jedis jedis = new Jedis("127.0.0.1",6379);
    13 
    14         /**
    15          * 示例1: zrange zset的key 起始索引 终止索引 (withscore)
    16          */
    17         Set<String> zrange = jedis.zrange("myzset", 0, -1);
    18         System.out.println("zrange = " + zrange);
    19 
    20         Set<Tuple> zrangeWithScores = jedis.zrangeWithScores("myzset", 0, -1);
    21         System.out.println("zrangeWithScores = " + zrangeWithScores);
    22     }
    23
    3、zrangebyscore :获取分数区间内的元素,格式是:zrangebyscore zset的key 起始score 终止score (withscore),默认是包含端点值的,如果加上"("表示不包含,后面还可以加上limit来限制。
    操作如下:
    java示例代码:
     1 /**
     2  * redis中对于ZSet类型的: zrange 操作示例
     3  * zrangebyscore :获取分数区间内的元素,格式是:zrangebyscore zset的key 起始score 终止score (withscore),默认是包含端点值的,如果加上"("表示不包含,后面还可以加上limit来限制。
     4  */
     5 public class ZSet_zrangebyscore_operation {
     6 
     7     public static void main(String[] args) {
     8         Jedis jedis = new Jedis("127.0.0.1",6379);
     9 
    10         /**
    11          * 示例1: zrangebyscore zset的key 起始score 终止score (withscore),默认是包含端点值的,如果加上"("表示不包含,后面还可以加上limit来限制。
    12          */
    13         Set<String> zrangeByScore = jedis.zrangeByScore("myzset", 10.0, 25.0);
    14         System.out.println("zrangeByScore = " + zrangeByScore);
    15 
    16         Set<Tuple> zrangeByScoreWithScores = jedis.zrangeByScoreWithScores("myzset", 10.0, 25.0);
    17         System.out.println("zrangeByScoreWithScores = " + zrangeByScoreWithScores);
    18 
    19     }
    20 }
    4、zrem :删除元素,格式是:zrem zset的key 项的值,项的值可以是多个
    操作如下:
    java示例代码:
     1 /**
     2  * redis中对于ZSet类型的: zrange 操作示例
     3  * zrem :删除元素,格式是:zrem zset的key 项的值,项的值可以是多个
     4  */
     5 public class ZSet_zrem_operation {
     6     public static void main(String[] args) {
     7         Jedis jedis = new Jedis("127.0.0.1",6379);
     8 
     9         /**
    10          * zrem zset的key 项的值,项的值可以是多个
    11          */
    12         Long zrem = jedis.zrem("myzset", "v1", "v2");
    13         System.out.println("zrem = " + zrem);
    14     }
    15 }
    5、zcard :获取集合中元素个数,格式是:zcard zset的key
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zrange 操作示例
     5  * zcard :获取集合中元素个数,格式是:zcard zset的key
     6  */
     7 public class Zset_zcard_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1: zcard zset的key
    13          */
    14         Long zcard = jedis.zcard("myzset");
    15         System.out.println("zcard = " + zcard);
    16     }
    17 }
    6、zincrby :增减元素的score,格式是:zincrby zset的key 正负数字 项的值
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zrange 操作示例
     5  * zincrby :增减元素的score,格式是:zincrby zset的key 正负数字 项的值
     6  */
     7 public class ZSet_zincrby_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1: zincrby zset的key 正负数字 项的值
    13          */
    14         Double zincrby = jedis.zincrby("myzset", 12, "v1");
    15         System.out.println("zincrby = " + zincrby);
    16     }
    17 }
    7、zcount : 获取分数区间内元素个数,格式是:zcount zset的key 起始score 终止score
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zrange 操作示例
     5  * zcount : 获取分数区间内元素个数,格式是:zcount zset的key 起始score 终止score
     6  */
     7 public class ZSet_zcount_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1: zcount zset的key 起始score 终止score
    13          */
    14         Long zcount = jedis.zcount("myzset", 20.0, 50.0);
    15         System.out.println("zcount = " + zcount);
    16     }
    17 }
    8、zrank : 获取项在zset中的索引,格式是:zrank zset的key 项的值
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zrange 操作示例
     5  * zrank : 获取项在zset中的索引,格式是:zrank zset的key 项的值
     6  */
     7 public class ZSet_zrank_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1:zrank zset的key 项的值
    13          */
    14         Long zrank = jedis.zrank("myzset", "v2");
    15         System.out.println("zrank = " + zrank);
    16 
    17         Long zrank2 = jedis.zrank("myzset", "v3");
    18         System.out.println("zrank2 = " + zrank2);
    19     }
    20 }
    9、zscore :获取元素的分数,格式是:zscore zset的key 项的值,返回项在zset中的score
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zrange 操作示例
     5  * zscore :获取元素的分数,格式是:zscore zset的key 项的值,返回项在zset中的score
     6  */
     7 public class ZSet_zscore_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1:zscore zset的key 项的值,返回项在zset中的score
    13          */
    14         Double zscore = jedis.zscore("myzset", "v2");
    15         System.out.println("zscore = " + zscore);
    16 
    17         Double zscore2 = jedis.zscore("myzset", "v4");
    18         System.out.println("zscore2 = " + zscore2);
    19 
    20         Double zscore3 = jedis.zscore("myzset", "v10");
    21         System.out.println("zscore3 = " + zscore3);
    22     }
    23 }
    10、zrevrank :获取项在zset中倒序的索引,格式是:zrevrank zset的key 项的值
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zrange 操作示例
     5  * zrevrank :获取项在zset中倒序的索引,格式是:zrevrank zset的key 项的值
     6  */
     7 public class ZSet_zrevrank_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1:zrevrank zset的key 项的值
    13          */
    14         Long zrevrank = jedis.zrevrank("myzset", "v2");
    15         System.out.println("zrevrank = " + zrevrank);
    16 
    17         Long zrevrank2 = jedis.zrevrank("myzset", "v1");
    18         System.out.println("zrevrank2 = " + zrevrank2);
    19 
    20         Long zrevrank3 = jedis.zrevrank("myzset", "v6");
    21         System.out.println("zrevrank3 = " + zrevrank3);
    22     }
    23 }
    11、zrevrange :获取索引区间内的元素,格式是:zrevrange zset的key 起始索引 终止索引(withscores)
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 import java.util.Set;
     4 
     5 /**
     6  * redis中对于ZSet类型的: zrange 操作示例
     7  * zrevrange :获取索引区间内的元素,格式是:zrevrange zset的key 起始索引 终止索引(withscores)
     8  */
     9 public class ZSet_zrevrange_operation {
    10     public static void main(String[] args) {
    11         Jedis jedis = new Jedis("127.0.0.1",6379);
    12 
    13         /**
    14          * 示例1:zrevrange zset的key 起始索引 终止索引(withscores)
    15          */
    16         Set<String> zrevrange = jedis.zrevrange("myzset", 0, -1);
    17         System.out.println("zrevrange = " + zrevrange);
    18     }
    19 }
    12、zrevrangebyscore:获取分数区间内的元素,格式是:zrevrangebyscore zset的key 终止score 起始score(withscores)
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 import redis.clients.jedis.Tuple;
     3 
     4 import java.util.Set;
     5 
     6 /**
     7  * redis中对于ZSet类型的: zrange 操作示例
     8  * zrevrangebyscore:获取分数区间内的元素,格式是:zrevrangebyscore zset的key 终止score 起始score(withscores)
     9  */
    10 public class ZSet_zrevrangebyscore_operation {
    11     public static void main(String[] args) {
    12         Jedis jedis = new Jedis("127.0.0.1",6379);
    13 
    14         /**
    15          * 示例1:zrevrangebyscore zset的key 终止score 起始score(withscores)
    16          */
    17         Set<String> zrevrangeByScore = jedis.zrevrangeByScore("myzset", 35.0, 15.0);
    18         System.out.println("zrevrangeByScore = " + zrevrangeByScore);
    19 
    20         Set<Tuple> zrevrangeByScoreWithScores = jedis.zrevrangeByScoreWithScores("myzset", 35.0, 15.0);
    21         System.out.println("zrevrangeByScoreWithScores = " + zrevrangeByScoreWithScores);
    22     }
    23 }
    13、zremrangebyrank:删除索引区间内的元素,格式是:zremrangebyrank zset的key 起始索引 终止索引
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zremrangebyrank 操作示例
     5  * zremrangebyrank:删除索引区间内的元素,格式是:zremrangebyrank zset的key 起始索引 终止索引
     6  */
     7 public class ZSet_zremrangebyrank_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1:zremrangebyrank zset的key 起始索引 终止索引
    13          */
    14         Long zremrangeByRank = jedis.zremrangeByRank("myzset", 0, 2);
    15         System.out.println("zremrangeByRank = " + zremrangeByRank);
    16     }
    17 }
    14、zremrangebyscore:删除分数区间内的元素,格式是:zremrangebysocre zset的key 起始score 终止score
    操作如下:
    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于ZSet类型的: zremrangebyrank 操作示例
     5  * zremrangebyscore:删除分数区间内的元素,格式是:zremrangebysocre zset的key 起始score 终止score
     6  */
     7 public class ZSet_zremrangebyscore_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1:zremrangebysocre zset的key 起始score 终止score
    13          */
    14         Long zremrangeByScore = jedis.zremrangeByScore("myzset", 30, 40);
    15         System.out.println("zremrangeByScore = " + zremrangeByScore);
    16     }
    17 }
    15、zinterstore:交集,格式是:zinterstore dest-key key-count key[key ...][WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
    操作如下:
    原始数据:

    java示例代码:
     1 import redis.clients.jedis.Jedis;
     2 import redis.clients.jedis.ZParams;
     3 
     4 /**
     5  * redis中对于ZSet类型的: zinterstore 操作示例
     6  * zinterstore:交集,格式是:zinterstore dest-key key-count key[key ...][WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
     7  */
     8 public class ZSet_zinterstore_operation {
     9     public static void main(String[] args) {
    10         Jedis jedis = new Jedis("127.0.0.1",6379);
    11 
    12         /**
    13          * 示例1:zinterstore dest-key key-count key[key ...][WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
    14          */
    15         Long zinterstore = jedis.zinterstore("myzset3", "myzset1", "myzset2");
    16         System.out.println("zinterstore = " + zinterstore);
    17 
    18         Long zinterstore1 = jedis.zinterstore("myzset4", new ZParams().aggregate(ZParams.Aggregate.MAX), "myzset1", "myzset2");
    19         System.out.println("zinterstore1 = " + zinterstore1);
    20     }
    21 }
    16、zunionstore:并集,格式是:zunionstore dest-key key-count key[key ...][WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
    操作如下:
    原始数据:

     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    以&quot;小刀会“的成败论当今创业成败
    COCOS2D 学习笔记
    password加密的算法
    bzoj1087【SCOI2005】互不侵犯King
    HDU--2222--Keywords Search--AC自己主动机
    【leetcode】Subsets II (middle) ☆
    【leetcode】Word Search (middle)
    【hadoop2.6.0】利用JAVA API 实现数据上传
    【leetcode】Palindrome Partitioning II(hard) ☆
    【hadoop2.6.0】利用Hadoop的 Java API
  • 原文地址:https://www.cnblogs.com/xinhuaxuan/p/9296525.html
Copyright © 2011-2022 走看看