1. 采用jedis 引入相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
2. 常见的相关操作
package com.zzh;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.DefaultTypedTuple;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ZSetOperations;
import javax.annotation.Resource;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
@SpringBootTest
class RedisDemoApplicationTests {
@Resource
private StringRedisTemplate template;
@Test
void contextLoads() {
}
@Test
public void testOne() {
template.opsForValue().set("name", "root");
String name = template.opsForValue().get("name");
System.out.println(name);
}
@Test
public void testTwo() {
Set<ZSetOperations.TypedTuple<String>> tuples = new HashSet<>();
for (int i = 0; i <10000; i++) {
DefaultTypedTuple<String> tuple = new DefaultTypedTuple<>("张" + i, 1D + i);
tuples.add(tuple);
}
Long score_rank = template.opsForZSet().add("score_rank", tuples);
System.out.println(score_rank);
}
@Test
public void testGetRank() {
Long rank = template.opsForZSet().reverseRank("score_rank", "张9999");
assert rank != null;
System.out.println(rank + 1L);
}
@Test
public void testGetTop10() {
Set<String> top10Set = template.opsForZSet().reverseRange("score_rank", 0, 10);
System.out.println(top10Set);
Set<ZSetOperations.TypedTuple<String>> tuples = template.opsForZSet()
.reverseRangeWithScores("score_rank", 0, 10);
assert tuples != null;
List<ScoreRankDto> list = tuples.stream()
.filter(t -> t.getScore() != null && t.getValue() != null)
.map(t -> new ScoreRankDto(t.getValue(), t.getScore().longValue()))
.collect(Collectors.toList());
System.out.println(list);
}
}