/** * 倒序取得指定索引范围内的数据集合 * @param key * @param start * @param end */ public List<Map<String,Double>> rangeWithScores(String key,long start,long end){ Set<ZSetOperations.TypedTuple<String>> rangeWithScores = redisTemplate.opsForZSet().reverseRangeWithScores(key, start, end); Iterator<ZSetOperations.TypedTuple<String>> iterator = rangeWithScores.iterator(); List<Map<String,Double>> list = new ArrayList<>(); while(iterator.hasNext()){ ZSetOperations.TypedTuple<String> next = iterator.next(); Map<String,Double> map = new HashMap<>(); map.put(next.getValue(),next.getScore()); list.add(map); } return list; }
/** * 向zset中新增数据 * @param key 该set的key * @param value 值 * @param score 用于排序的字段 * @return */ public boolean addForZset(String key,String value,double score){ return redisTemplate.opsForZSet().add(key,value,score); }