[redis] sorted set

cochocho·2026년 4월 22일

set

  • 순서 없음
  • 중복 불가

sorted set

  • 각 set의 요소가 member(실제 저장 문자열) + score을 지님
  • score의 순서대로 정렬됨(오름차순)

sorted set의 연산

sorted set 에 요소를 추가 시 레디스에서 내부 정렬을 거쳐 필요 위치에 추가함

인코딩 방식

  • list pack
  • skiplist + hash table
    skip list 는 level pointer 여럿을 사용해 조회 시 O(log n)
    hash table 은 member 을 저장하는 용도

따라서 당연히 메모리는 list pack보다 더 차지하게 됨
*member, score, level pointer들을 저장하기 때문

그러나 효율적인 작업을 위해 사용

명령어

  • zadd
    nx : 멤버 없을 경우만 add
    xx : 멤버 있는 경우만 add
    gt : score 이 현재보다 큰 경우
    lt : score 이 현재보다 작은 경우

  • zrem

  • zrange : score 기준 정렬된 scored set 내 인덱스 기반의 조회

  • zrank : 해당 score set 내 member의 순위

*with scores option 가능

0개의 댓글