Redis之Jedis中zset類型使用方式
zadd 和 zrange
其中zadd的score是double類型,如果要添加多個元素需要使用map
而zrange返回的則是list類型
而zrangeWithScore返回的是List< Tuple >類型,Tuple代表元組,可以根據(jù)下標獲取對應(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 實現(xiàn)分布式鎖(含自動續(xù)期與安全釋放)
本文詳解用Redis實現(xiàn)分布式鎖,包含自動續(xù)期與安全釋放,推薦使用Redisson,內(nèi)置可重入、Watchdog及高可用支持,對比原生和自研方案,強調(diào)其在生產(chǎn)環(huán)境的高效與安全性,感興趣的朋友跟隨小編一起看看吧2025-08-08
Redis未授權(quán)訪問配合SSH key文件利用詳解
這篇文章主要給大家介紹了關(guān)于Redis未授權(quán)訪問配合SSH key文件利用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-09-09

