1. Redis sorted sets 란?
- 정렬된 집합
- Score를 기준으로 정렬됨
2. Redis sorted sets 사용 방법
- ZADD와 ZREM 로 데이터 입력 및 제거 가능
> ZADD trip_scores 10 tripId:1
(integer) 1
> ZADD trip_scores 12 tripId:3
(integer) 1
> ZADD trip_scores 8 tripId:5 9 tripId:8 6 tripId:11 14 tripId:20
(integer) 4
> ZREM trip_scores tripId:20
(integer) 1
- ZRANGE(오름차순)와 ZREVRAMGE(내림차순) 로 데이터 출력 가능
> ZRANGE trip_scores 0 -1
1) "tripId:11"
2) "tripId:5"
3) "tripId:8"
4) "tripId:1"
5) "tripId:3"
> ZREVRANGE trip_scores 0 -1
1) "tripId:3"
2) "tripId:1"
3) "tripId:8"
4) "tripId:5"
5) "tripId:11"
- ZRANK(오름차순)와 ZREVRANK(내림차순) 로 데이터 순서 출력 가능
> ZRANK trip_scores "tripId:11"
(integer) 0
> ZREVRANK trip_scores "tripId:11"
(integer) 5
- ZINCRBY 로 score 값 수정 가능
> ZINCRBY trip_scores 50 "tripId:3"
"62"
3. Redis sorted sets 성능
- 입력시 정렬 시간복잡도 O(log(n))
- 출력시 시간 복잡도 O(log(n) + m)
* m 은 반환된 결과 수
- 데이터가 적을 때, zip list로 동작
- 데이터가 많을 때, skip list로 동작
'Redis > redis' 카테고리의 다른 글
[Redis] Redis Pub / Sub (0) | 2024.05.14 |
---|---|
[Redis] Streams (0) | 2024.05.10 |
[Redis] hashes (0) | 2024.05.09 |
[Redis] sets (0) | 2024.05.09 |
[Redis] lists (0) | 2024.05.07 |