Redis的opsForZSet获取TypedTuple的值

发布于 2021-05-26  999 次阅读


今天这个问题卡在这里很久,想取出opsForZSet.reverseRangeWithScores()里面的值

本来是想转为数组,却发现通过JSON字符串也好,JSON对象也好,都转出失败,要么里面的数据为null,要么报错

思路卡住了

 

通过看到https://blog.csdn.net/qq_41712271/article/details/103700647  这篇文章对Zset的操作,发现可以直接用迭代器.getValue即可

 

Set rangeWithScores = redisTemplate.opsForZSet().reverseRangeWithScores(VIEW_RANK, 0, 10);
System.out.println("获取到的排行和分数列表:" + JSON.toJSONString(rangeWithScores));
Iterator<ZSetOperations.TypedTuple<String>> iterator = rangeWithScores.iterator();
while (iterator.hasNext()) {
    ZSetOperations.TypedTuple<String> typedTuple = iterator.next();
    Object value = typedTuple.getValue();
    double score = typedTuple.getScore();
    System.out.println("获取RedisZSetCommands.Tuples的区间值:" + value + "---->" + score);
}

特此记录,取出来之后加入到自己想加入的List 即可!!!

她喜欢所以就做咯