Redis sorted set

구동현·2024년 4월 19일
post-thumbnail

Redis Data Type

Redis의 Data Type은 다음과 같다.

  • Strings
  • Lists
  • Sets
  • Hashes
  • Sorted Sets
  • Bitmaps

Strings

value에 문자나 숫자 등을 저장한다.

Lists

value에 list를 저장한다.

Hashes

value에 key/values 형태를 가진다.

Sets

value에 set형태를 가짐
(list는 중복을 허용, set은 불허)

Bitmaps

value에 bit를 가진다.


SortedSet

  • ZSET이라고도 불린다.

Set과의 차이점

Set은 List와 달리 중복을 불허해서, values들을 unique하게 관리할 수 있다.
List와 또 다른 차이점은, 순서는 관리되지 않는다는 점이다.
SortedSet은 Set과 다르게 순서가 관리된다는 특징이 있다.
만약 필요한 dataType이 중복을 불허하고, 순서를 관리해야할 경우에는 SortedSet이 필요하다.

정렬 방식

ZSET이 순서가 보장되는 고유한 문자열들의 컬렉션이라고 볼때,
문자열 하나를 Member라고 부른다.
Member에는 연관되어 있는 Score가 있다.
그 score를 기준으로 member들이 정렬된다.

명령어

멤버와 스코어를 추가할 수 있고, 특정 멤버가 몇번째 순위인지 등을 확인할 수 있는 명령어가 있습니다. 이런 연산들은 O(Log(n))으로 상당히 효율적입니다.
하지만, 정렬되어 있는 멤버들 중 특정 범위를 반환하는 명령어 ZRANGE같은 경우는, O(Log(n)+m)으로 m은 반환받는 멤버들의 수입니다.

사용예제

랭킹시스템을 개발할 때 사용할 수 있습니다.

profile
개발합시다

0개의 댓글