**

1,添加或更新有序集合

**

	/**
	 * 
	 * 修改有序集合 key member的值
	   	Redis Zincrby 命令对有序集合中指定成员的分数加上增量 increment

		可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。
		
		当 key 不存在,或分数不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。
		
		当 key 不是有序集类型时,返回一个错误。
		
		分数值可以是整数值或双精度浮点数。
	 * @param key
	 * @param increment
	 * @param member
	 */
	protected static Double zincrby(String key, double increment, String member) {
		Jedis jedis = null;
		try {
			jedis = ConnectionManager.getConnection();
			return jedis.zincrby(key, increment, member);
		} catch (Exception e) {
			logger.info("redis bug:" + e.getMessage());
			
		} finally {
			try {
				ConnectionManager.closeConnection(jedis);
			} catch (Exception e) {
				logger.info("redis bug:" + e.getMessage());
				// TODO Auto-generated catch block
				
			}
		} 
		return null;
	}

2,查询有序集合

/**
	 * 显示有序集 名字  分数  由大到小
	 * 
	 * @param key
	 * @return
	 * @throws Exception
	 */
	protected static Set<Tuple> rangeWithScores(String key, long start, long end) {
		Jedis jedis = null;
		try {
			jedis = ConnectionManager.getConnection();
			return jedis.zrevrangeWithScores(key, start, end);
		} catch (Exception e) {
			logger.info("redis bug:" + e.getMessage());
			
		} finally {
			try {
				ConnectionManager.closeConnection(jedis);
			} catch (Exception e) {
				logger.info("redis bug:" + e.getMessage());
				// TODO Auto-generated catch block
				
			}
		}
		return null;
	}

3,查询有序集合总数

/**
	 * 查询zadd的总数
	 * @param key
	 * @return
	 */
	protected static long ZCARD(String key) {
		Jedis jedis = null;
		try {
			jedis = ConnectionManager.getConnection();
			return jedis.zcard(key);
		} catch (Exception e) {
			logger.info("redis bug:" + e.getMessage());
			
		} finally {
			try {
				ConnectionManager.closeConnection(jedis);
			} catch (Exception e) {
				logger.info("redis bug:" + e.getMessage());
				// TODO Auto-generated catch block
				
			}
		}
		
		return 0;
	}

**

4,移除有序集合

**

/**
	 * 移除 有序集合
	 * 
	 * @param key
	 * @param members
	 * return 0,移除不存在元素,1移除一个元素
	 */
	protected static long ZREM(String key, String members) {
		Jedis jedis = null;
		try {
			jedis = ConnectionManager.getConnection();
			return jedis.zrem(key, members);
		} catch (Exception e) {
			logger.info("redis bug:" + e.getMessage());
			
		} finally {
			try {
				ConnectionManager.closeConnection(jedis);
			} catch (Exception e) {
				logger.info("redis bug:" + e.getMessage());
				// TODO Auto-generated catch block
				
			}
		}
		return 0;
	}

5,移除有序集中,指定分数(score)区间内的所有成员

/**
	 * Redis Zremrangebyscore 命令用于移除有序集中,指定分数(score)区间内的所有成员。
	 */
	protected static Long zremrangebyscore(String key, double start, double end) {
		Jedis jedis = null;
		try {
			jedis = ConnectionManager.getConnection();
			return jedis.zremrangeByScore(key, start, end);
		} catch (Exception e) {
			logger.info("redis bug:" + e.getMessage());
			
		} finally {
			try {
				ConnectionManager.closeConnection(jedis);
			} catch (Exception e) {
				logger.info("redis bug:" + e.getMessage());
				// TODO Auto-generated catch block
				
			}
		}
		return 0L;
	}

**

6,获取排名

**

/**
	 * 
	 * @param key
	 * @param member
	 * @return 排名
	 */
	protected static Long rank(String key, String member) {
		Jedis jedis = null;
		try {
			jedis = ConnectionManager.getConnection();
			Long zk = jedis.zrevrank(key, member);
			return zk;
		} catch (Exception e) {
			logger.info("redis bug:" + e.getMessage());
		} finally {
			try {
				ConnectionManager.closeConnection(jedis);
			} catch (Exception e) {
				logger.info("redis bug:" + e.getMessage()); 				
				logger.info(" kkkredis 关闭jedis异常" + e.getMessage());
			}
		}
	
		return -1l;
	}