1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
@Test
void testZSet() {
// 向 Sorted Set 添加一个或多个原素,或者更新已存在元素的分数
redisTemplate.opsForZSet().add("myzset", "value1", 3.14);
redisTemplate.opsForZSet().add("myzset", "value2", 3.141);
redisTemplate.opsForZSet().add("myzset", "value3", 3.1415);
// 获取 Sorted Set 中元素的个数
System.out.println(redisTemplate.opsForZSet().size("myzset"));
// 移除 Sorted Set 中一个或多个原素
redisTemplate.opsForZSet().remove("myzset", "value3");
// 获取 Sorted Set 中指定元素的分数
System.out.println(redisTemplate.opsForZSet().score("myzset", "value1"));
// 给指定元素添加分数
redisTemplate.opsForZSet().incrementScore("myzset", "value2", 1.1);
// 根据分数范围获取 Sorted Set 中的元素
System.out.println(redisTemplate.opsForZSet().rangeByScore("myzset", 1, 6));
// 通过索引返回 Sorted Set 中指定区间的成员(分数从低到高)
System.out.println(redisTemplate.opsForZSet().range("myzset", 1, 2));
// 通过索引返回 Sorted Set 中指定区间的成员(分数从高到低)
System.out.println(redisTemplate.opsForZSet().reverseRange("myzset", 1, 2));
// 获取指定元素排名,返回 Sorted Set 中的索引
System.out.println(redisTemplate.opsForZSet().rank("myzset", "value1"));
// 获取多个 Sorted Set 中的交集并存储在新的 Sorted Set 中
redisTemplate.opsForZSet().add("myzset1", "value1", 3.14);
redisTemplate.opsForZSet().intersectAndStore("newzset1", "myzset1", "myzset");
// 获取多个 Sorted Set 中的并集并存储在新的 Sorted Set 中
redisTemplate.opsForZSet().unionAndStore("newzset1", "myzset1", "myzset");
// 获取多个 Sorted Set 中的差集并存储在新的 Sorted Set 中
redisTemplate.opsForZSet().differenceAndStore("newzset1", Collections.singleton("myzset1"), "myzset");
}
|