public void zAdd(String key, Object value, double scoure) { ZSetOperations zset = redisTemplate.opsForZSet(); zset.add(key, value, scoure); } public Set rangeByScore(String key, double scoure, double scoure1) { ZSetOperations zset = redisTemplate.opsForZSet(); return zset.rangeByScore(key, scoure, scoure1); } public void zSet(String key,Object value,double source){ ZSetOperations zset = redisTemplate.opsForZSet(); zset.add(key,value,source); } public Set revrange(String key){ ZSetOperations zset = redisTemplate.opsForZSet(); return zset.reverseRange(key, new Long(0), new Long(-1)); } public void zTop(String key,Object value){ ZSetOperations zset = redisTemplate.opsForZSet(); zset.add(key,value,zset.score(key,new ArrayList<>(zset.reverseRange(key,new Long(0),new Long(-1))).get(0))+1); } public boolean upSet(String key,Object value){ ZSetOperations zset = redisTemplate.opsForZSet(); List data = new ArrayList<>(zset.range(key,new Long(0),new Long(-1))); if(data==null || data.size() ==0) { return false; } //需要调整的score Double lessScore = zset.score(key,value); //需要调整的上一位 Object thanObject = data.get(data.indexOf(value)+1); //需要调整的上一位的score Double thanScore = zset.score(key,thanObject); //将需要调整的往上调一位 zset.add(key,value,thanScore); //将原来的往下调 zset.add(key,thanObject,lessScore); return true; } public boolean downSet(String key,Object value){ ZSetOperations zset = redisTemplate.opsForZSet(); List data = new ArrayList<>(zset.range(key,new Long(0),new Long(-1))); if(data==null || data.size() ==0) { return false; } //需要调整的score Double thanScore = zset.score(key,value); //需要调整的上一位 Object thanObject = data.get(data.indexOf(value)-1); //需要调整的上一位的score Double lessScore = zset.score(key,thanObject); //将需要调整的往上调一位 zset.add(key,value,lessScore); //将原来的往下调 zset.add(key,thanObject,thanScore); return true; }
上一篇 TestNg常用enable、timeOut、exceptedException、groups、dependsOnGroups、dependsOnMethods、@Paramters、priority
下一篇 Golang原生json可以一库走天下吗?
版权所有 (c)2021-2022 MSHXW.COM
ICP备案号:晋ICP备2021003244-6号