栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Redist-Java 有序列表操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redist-Java 有序列表操作

	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;
	}


转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号