目录
使用命令 zadd,zrange
使用命令 zcard
使用命令 zrem
使用命令 zscore
使用命令 zrank
关于 redis zset 有序集合类型的相关命令推荐看Redis - Zset 有序集合
要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis
本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)
使用命令 zadd,zrange
/*** 使用命令 zadd,zrange* */public static void test1(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();//向 redis 中插入类型为 zset 的键值对 key1,有序集合的元素为 zhangsan,分数为 10//返回值为插入成功的元素个数long result1=jedis.zadd("key1",10,"zhangsan");System.out.println("result1:"+result1);Map<String,Double> map=new HashMap<>();map.put("lisi",20.0);map.put("wangwu",30.0);//配合 Map,一次性向 key1 对应的有序集合中插入两个元素//返回值为插入成功的元素个数long result2=jedis.zadd("key1",map);System.out.println("result2:"+result2);//获取 key1 对应的有序集合中,下标 0 ~ -1(最后一位)之间的所有元素List<String> result3=jedis.zrange("key1",0,-1);System.out.println("result3:"+result3);//获取 key1 对应的有序集合中,下标 0 ~ -1(最后一位)之间的所有元素和分数// Tuple 是 Jedis 中定义的类,表示元组,元素和分数表示一个二元组List<Tuple> elementAndScore=jedis.zrangeWithScores("key1",0,-1);System.out.println("elementAndScore:"+elementAndScore);//通过 List<Tuple> 类型的对象可以获取指定下标元组的元素String result4=elementAndScore.get(0).getElement();System.out.println("result4:"+result4);//通过 List<Tuple> 类型的对象可以获取指定下标元组的分数Double result5=elementAndScore.get(0).getScore();System.out.println("result5:"+result5);}
运行结果
使用命令 zcard
/*** 使用命令 zcard* */public static void test2(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);//获取有序集合 key1 中的元素个数long result1=jedis.zcard("key1");System.out.println("result1:"+result1);}
运行结果
使用命令 zrem
/*** 使用命令 zrem* */public static void test3(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);//删除 key1 对应的有序集合中的元素 zhangsan 和 lisi ,返回删除成功的元素个数long result1=jedis.zrem("key1","zhangsan","lisi");System.out.println("result1:"+result1);}
运行结果
使用命令 zscore
/*** 使用命令 zscore* */public static void test4(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);Double result1=jedis.zscore("key1","zhangsan");System.out.println("result1:"+result1);}
运行结果
使用命令 zrank
/*** 使用命令 zrank* */public static void test5(Jedis jedis){//清空 redis 所有数据库中的数据jedis.flushAll();Map<String,Double> map=new HashMap<>();map.put("zhangsan",10.0);map.put("lisi",20.0);map.put("wangwu",30.0);jedis.zadd("key1",map);//获取 key1 对应的有序集合中,元素 zhangsan 对应的排名Long result1=jedis.zrank("key1","zhangsan");System.out.println("result1:"+result1);}
运行结果