[Redis] Redis Data Type(2)

배지원·2023년 10월 24일

Redis

목록 보기
3/5

1. SortedSets

  • Set과 유사하게 유니크(중복x)한 값의 집합
  • 각 값은 연관된 score를 가지고 정렬되어 있다
  • 정렬된 상태이기에 빠르게 최소/최대값을 구할 수 있다
  • 따라서, 랭크 순위 매길때 사용하기 좋음
  • Set + 순차정렬(Score를 통한)

(1) ZADD

  • 정렬된 집합에 멤버와 점수를 추가합니다.
ZADD key score1 member1 score2 member2 ...

(2) ZRANGE

  • 지정된 범위 내의 멤버를 가져옵니다.
ZRANGE key start stop [WITHSCORES]
[WITHSCORES] 옵션을 사용하면 각 멤버의 점수도 함께 반환됩니다.

(3) ZRANK

  • 지정된 멤버의 순위(인덱스)를 가져옵니다.
ZRANK key member

(4) ZREM

  • 지정된 멤버를 정렬된 집합에서 제거합니다.
ZREM key member1 member2 ...

(5) ZSCORE

  • 지정된 멤버의 점수를 가져옵니다.
ZSCORE key member

(6) ZCARD (Sorted Set Cardinality)

  • 정렬된 집합의 크기(멤버 개수)를 반환합니다.
ZCARD key

(7) ZCOUNT (Sorted Set Count)

  • 주어진 범위 내에 있는 멤버들의 개수를 반환합니다.
ZCOUNT key min max

(8) ZINCRBY (Sorted Set Increment By)

  • 주어진 값만큼 특정 멤버의 점수를 증가시킵니다.
ZINCRBY key increment member

(9) ZREVRANGE

  • 역순으로 정렬하여 지정한 범위 내에 있는 멤버들을 반환
ZREVRANGE key start stop [WITHSCORES]

(10) ZREVRANK

  • 역순으로 정렬하여 특정 멤버의 순위(인덱스)를 반환
ZREVRANK key member

(11) ZREMRANGEBYRANK

  • 주어진 순위 범위 내에 있는 모든 요소들을 삭제
ZREMRANGEBYRANK key start stop

(12) ZREMRANGEBYSCORE

  • 주어진 스타트 스톱 사이에 있는 모든 요소들을 삭제
ZREMRANGEBYSCORE key min max


2. Bitmaps

  • 비트 벡터를 사용해 N개의 Set을 공간 효율적 사용
  • 2진 비트의 배열
  • 0,1의 값을 넣고 비트연산을 통해 원하는 값 출력 가능
  • 예를 들면, 어제 방문자를 1의 값을 넣고 오늘 방문자에도 1의 값을 넣어 AND 연산자를 통해 어제,오늘 모두 출석한 인원을 산출할때 사용함

(1) SETBIT

  • 비트맵에서 특정 위치의 비트를 설정합니다.
  • offset : 배열 자리 번호 ,value = 0 or 1의 값
>> SETBIT key offset value

(2) GETBIT

  • 비트맵에서 특정 위치의 비트 값을 가져옵니다.
>> GETBIT key offset

  • bitmap[ 0, 0, 1, 1, 1]

(3) BITCOUNT

  • 비트맵에서 설정된 비트(1)의 개수를 계산합니다.
>> BITCOUNT key [start end]
[start]와 [end] 옵션을 사용하여 특정 범위 내의 비트만 계산할 수 있습니다.

(4) BITOP

  • 여러 개의 비트맵 간의 비트 연산을 수행합니다. (AND/OR/XOR/NOT)
>> BITOP operation destkey key1 [key2 ...]
operation은 AND, OR, XOR, NOT 중 하나를 선택합니다.

bitmap1 = [ 0,0,1,1,1]
bitmap2 = [ 0,1,1]
result = bitmap1 AND bitmap2 = [ 0,0,1]

(5) BITPOS

  • 비트맵에서 특정 비트 값(0 또는 1)이 처음으로 등장하는 위치를 찾습니다.
>> BITPOS key bit [start] [end]
[start]와 [end] 옵션을 사용하여 특정 범위 내에서 검색할 수 있습니다.

(6) BITFIELD

  • 비트맵에서 비트 필드 연산을 수행합니다. (GET/SET/INCRBY/...)
>> BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [...]
profile
Web Developer

0개의 댓글