1. Redis Sorted Sets 란?
- set 과 유사
- 각 값은 score을 기준으로 정렬되어 있음
*시간 복잡도 관련해서는 다음 글을 참고
https://kjwit.tistory.com/entry/Redis-sorted-sets
2. ZSetOperations<K, V> 사용 방법
- private final RedisTemplate<String,String> redisTemplate 으로 지정 후
- redisTemplate.opsForZSet() 으로 호출 가능
- redisTemplate.opsForZSet().add( [key 값], [Value 값], [Score ]) 으로 데이터를 저장 가능
- redisTemplate.opsForZSet().rank( [key 값], [Value 값] ) 으로 전체 데이터 순위 확인 가능
- redisTemplate.opsForZSet().range([key 값], [start idx], [end idx] ) 으로 score 오름차순 범위 출력 가능
- redisTemplate.opsForZSet().reverseRange([key 값], [start idx], [end idx] ) 으로 score 내림차순 범위 출력 가능
3. ZSetOperations<K, V> 예시
@Autowired
RedisTemplate<String, String> redisTemplate;
@Test
void redisTest(){
redisTemplate.opsForZSet().add("test:zset1", "aaa", 100);
redisTemplate.opsForZSet().add("test:zset1", "bbb", 300);
redisTemplate.opsForZSet().add("test:zset1", "ccc", 200);
System.out.println("test:zset bbb rank value = ");
System.out.println(redisTemplate.opsForZSet().rank("test:zset1","bbb"));
System.out.println("test:zset values = ");
System.out.println(redisTemplate.opsForZSet().range("test:zset1",0,-1));
System.out.println("test:zset reverse values = ");
System.out.println(redisTemplate.opsForZSet().reverseRange("test:zset1",0,-1));
}
'Redis > Spring Data Redis' 카테고리의 다른 글
[Spring Data Redis] Redis Pub / Sub (0) | 2024.05.14 |
---|---|
[Spring Data Redis] HyperLogLog (0) | 2024.05.13 |
[Spring Data Redis] Hashes (0) | 2024.05.13 |
[Spring Data Redis] Sets (0) | 2024.05.13 |
[Spring Data Redis] Lists (0) | 2024.05.13 |