Boolean add(K key, V value, double score);
新增一个有序集合,存在的话为false,不存在的话为true
使用:System.out.println(template.opsForZSet().add("zset1","zset-1",1.0));
结果:true
Long add(K key, Set> tuples);
新增一个有序集合
使用:ZSetOperations.TypedTuple objectTypedTuple1 = new DefaultTypedTuple("zset-5",9.6);
ZSetOperations.TypedTuple objectTypedTuple2 = new DefaultTypedTuple("zset-6",9.9);
Set> tuples = new HashSet>();
tuples.add(objectTypedTuple1);
tuples.add(objectTypedTuple2);
System.out.println(template.opsForZSet().add("zset1",tuples));
System.out.println(template.opsForZSet().range("zset1",0,-1));
结果:[zset-1, zset-2, zset-3, zset-4, zset-5, zset-6]
Long remove(K key, Object... values);
从有序集合中移除一个或者多个元素
使用:System.out.println(template.opsForZSet().range("zset1",0,-1));
System.out.println(template.opsForZSet().remove("zset1","zset-6"));
System.out.println(template.opsForZSet().range("zset1",0,-1));
结果:[zset-1, zset-2, zset-3, zset-4, zset-5, zset-6]
1
[zset-1, zset-2, zset-3, zset-4, zset-5]
Double incrementScore(K key, V value, double delta);
增加元素的score值,并返回增加后的值
使用:System.out.println(template.opsForZSet().incrementScore("zset1","zset-1",1.1)); //原为1.1
结果:2.2
Long rank(K key, Object o);
返回有序集中指定成员的排名,其中有序集成员按分数值递增(从小到大)顺序排列
使用:System.out.println(template.opsForZSet().range("zset1",0,-1));
System.out.println(template.opsForZSet().rank("zset1","zset-2"));
结果:[zset-2, zset-1, zset-3, zset-4, zset-5]
0 //表明排名第一
Long reverseRank(K key, Object o);
返回有序集中指定成员的排名,其中有序集成员按分数值递减(从大到小)顺序排列
使用:System.out.println(template.opsForZSet().range("zset1",0,-1));
System.out.println(template.opsForZSet().reverseRank("zset1","zset-2"));
结果:[zset-2, zset-1, zset-3, zset-4, zset-5]
4 //递减之后排到第五位去了
Set range(K key, long start, long end);
通过索引区间返回有序集合成指定区间内的成员,其中有序集成员按分数值递增(从小到大)顺序排列
使用:System.out.println(template.opsForZSet().range("zset1",0,-1));
结果:[zset-2, zset-1, zset-3, zset-4, zset-5]
Set> rangeWithScores(K key, long start, long end);
通过索引区间返回有序集合成指定区间内的成员对象,其中有序集成员按分数值递增(从小到大)顺序排列
使用:Set> tuples = template.opsForZSet().rangeWithScores("zset1",0,-1);
Iterator> iterator = tuples.iterator();
while (iterator.hasNext())
{
ZSetOperations.TypedTuple typedTuple = iterator.next();
System.out.println("value:" + typedT