Redis之Jedis中zset類型使用方式
zadd 和 zrange
其中zadd的score是double類型,如果要添加多個元素需要使用map
而zrange返回的則是list類型
而zrangeWithScore返回的是List< Tuple >類型,Tuple代表元組,可以根據(jù)下標(biāo)獲取對應(yīng)位置的key的value
public static void zaddAndzrange(Jedis jedis){
jedis.flushAll();
jedis.zadd("key", 100, "curry");
Map<String, Double> map = new HashMap<>();
map.put("lebron", 95.0);
map.put("durant", 97.0);
jedis.zadd("key", map);
List<String> members = jedis.zrange("key", 0, -1);
System.out.println(members);
List<Tuple> result = jedis.zrangeWithScores("key", 0, -1);
System.out.println(result);
double score = result.get(0).getScore();
System.out.println(score);
}
控制臺輸出
[lebron, durant, curry] [[lebron,95.0], [durant,97.0], [curry,100.0]] 95.0
zcard
返回值為long類型
public static void zcard(Jedis jedis){
jedis.flushAll();
jedis.zadd("key", 100, "curry");
Map<String, Double> map = new HashMap<>();
map.put("lebron", 95.0);
map.put("durant", 97.0);
jedis.zadd("key", map);
long size = jedis.zcard("key");
System.out.println(size);
}
控制臺輸出
3
zrem
public static void zrem(Jedis jedis){
jedis.flushAll();
jedis.zadd("key", 100, "curry");
Map<String, Double> map = new HashMap<>();
map.put("lebron", 95.0);
map.put("durant", 97.0);
jedis.zadd("key", map);
long n = jedis.zrem("key", "lebron", "durant");
System.out.println(n);
System.out.println(jedis.zrange("key", 0, -1));
}
控制臺輸出:
2 [curry]
zscore
返回的是Double,需要注意這里是包裝類的Double,不要用double進行接收,防止key不存在返回null
public static void zscore(Jedis jedis){
jedis.flushAll();
jedis.zadd("key", 100, "curry");
Double score = jedis.zscore("key", "curry");
System.out.println(score);
System.out.println(jedis.zscore("key", "zhangsan"));
}
控制臺輸出
100.0 null
zrank
這里的返回值是Long,也是包裝類,需要注意返回null的情況
public static void zrank(Jedis jedis){
jedis.flushAll();
jedis.zadd("key", 100, "curry");
Map<String, Double> map = new HashMap<>();
map.put("lebron", 95.0);
map.put("durant", 97.0);
jedis.zadd("key", map);
Long rank = jedis.zrank("key", "durant");
System.out.println(rank);
}
控制臺輸出
1
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Redis?鍵值對(key-value)數(shù)據(jù)庫實現(xiàn)方法
Redis 的鍵值對中的 key 就是字符串對象,而 value 可以是字符串對象,也可以是集合數(shù)據(jù)類型的對象,比如 List 對象,Hash 對象、Set 對象和 Zset 對象,這篇文章主要介紹了Redis?鍵值對數(shù)據(jù)庫是怎么實現(xiàn)的,需要的朋友可以參考下2024-05-05
redis中opsForList().range()的使用方法詳解
這篇文章主要給大家介紹了關(guān)于redis中opsForList().range()的使用方法,文中通過實例代碼以及圖文介紹的非常詳細,對大家學(xué)習(xí)或者使用redis具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-03-03
redis重新創(chuàng)建集群的實現(xiàn)步驟
本文主要介紹了redis重新創(chuàng)建集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-05-05

