Redis/redis

[Redis] sorted sets

오늘도개발 2024. 5. 9. 14:01

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