Redis Sorted Set 연산

RedisBeginner
지금 연습하기

소개

이 랩에서는 기본적인 Redis Sorted Set 연산을 탐구합니다. 먼저 Redis 서버에 연결하고 ZADD 명령을 사용하여 점수와 함께 요소를 Sorted Set 에 추가하는 것으로 시작합니다. 여기에는 새로운 요소 추가, 기존 요소 점수 업데이트, 그리고 명령의 출력을 이해하는 것이 포함됩니다.

그 다음, ZRANGE 명령을 사용하여 인덱스별로 Sorted Set 에서 요소 범위를 가져오는 방법, ZRANK를 사용하여 요소의 순위를 얻는 방법, ZINCRBY를 사용하여 요소의 점수를 증가시키는 방법, 마지막으로 ZREM을 사용하여 Sorted Set 에서 요소를 제거하는 방법을 배우게 됩니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 98%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

ZADD 를 사용하여 점수가 있는 요소 추가

이 단계에서는 ZADD 명령을 사용하여 Redis Sorted Set 에 점수와 함께 요소를 추가하는 방법을 배웁니다. Sorted Set 은 점수와 관련된 요소를 저장하는 데이터 구조입니다. 요소는 점수에 따라 정렬되어 정렬된 방식으로 검색할 수 있습니다.

먼저, Redis 서버에 연결해 보겠습니다. LabEx VM 에서 터미널을 엽니다. 이미 ~/project 디렉토리에 있어야 합니다. 이제 redis-cli 명령을 사용하여 Redis 서버에 연결합니다.

redis-cli

Redis 프롬프트가 표시되어야 합니다: 127.0.0.1:6379>.

이제 my_zset이라는 Sorted Set 에 점수와 함께 몇 가지 요소를 추가해 보겠습니다. ZADD 명령은 다음과 같은 구문을 사용합니다.

ZADD key score member [score member ...]

여기서:

  • key는 Sorted Set 의 이름입니다.
  • score는 요소와 관련된 점수입니다.
  • member는 추가할 요소입니다.

my_zset에 세 가지 요소, 즉 점수 1"apple", 점수 2"banana", 점수 3"cherry"를 추가해 보겠습니다.

ZADD my_zset 1 apple 2 banana 3 cherry

다음과 같은 출력이 표시되어야 합니다.

(integer) 3

이는 세 개의 요소가 Sorted Set 에 추가되었음을 나타냅니다.

이 단계 후에 명령이 올바르게 기록되도록 Redis CLI 를 종료하는 것이 중요합니다. 종료하려면 다음을 입력하십시오.

exit

ZADD 로 더 많은 요소 추가 및 점수 업데이트

이 단계에서는 my_zset Sorted Set 에 요소를 계속 추가하고 기존 요소의 점수를 업데이트합니다.

먼저, Redis 서버에 다시 연결합니다.

redis-cli

이제 점수 2.5"date" 요소를 추가해 보겠습니다.

ZADD my_zset 2.5 date

다음과 같은 출력이 표시되어야 합니다.

(integer) 1

이는 하나의 요소가 Sorted Set 에 추가되었음을 나타냅니다.

ZADD를 사용하여 기존 요소의 점수를 업데이트할 수도 있습니다. "apple"의 점수를 1.5로 업데이트해 보겠습니다.

ZADD my_zset 1.5 apple

다음과 같은 출력이 표시되어야 합니다.

(integer) 0

이는 새로운 요소가 추가되지 않았지만 ("apple"이 이미 존재했기 때문에) "apple"의 점수가 업데이트되었음을 나타냅니다.

Redis CLI 를 종료하는 것을 잊지 마세요.

exit

ZRANGE 로 인덱스 범위 가져오기

이제 my_zset Sorted Set 을 채웠으므로 ZRANGE 명령을 사용하여 특정 범위 내의 요소를 검색하는 방법을 알아보겠습니다.

Redis 서버에 연결합니다.

redis-cli

ZRANGE 명령은 지정된 인덱스 범위 내에서 Sorted Set 의 요소를 검색합니다. 구문은 다음과 같습니다.

ZRANGE key start stop [WITHSCORES]

여기서:

  • key는 Sorted Set 의 이름입니다.
  • start는 시작 인덱스 (포함) 입니다.
  • stop은 종료 인덱스 (포함) 입니다.
  • WITHSCORES (선택 사항) 는 출력에 요소의 점수를 포함합니다.

my_zset에서 처음 세 개의 요소 (인덱스 0 에서 2 까지) 를 검색하려면 다음 명령을 사용합니다.

ZRANGE my_zset 0 2

점수에 따라 정렬된 요소를 나타내는 다음 출력이 표시되어야 합니다.

1) "apple"
2) "banana"
3) "date"

요소와 점수를 함께 검색하려면 WITHSCORES 옵션을 사용합니다.

ZRANGE my_zset 0 2 WITHSCORES

다음 출력이 표시되어야 합니다.

1) "apple"
2) "1.5"
3) "banana"
4) "2"
5) "date"
6) "2.5"

Redis CLI 를 종료합니다.

exit

ZRANK 로 요소 순위 확인

이 단계에서는 ZRANK 명령을 사용하여 Sorted Set 내에서 요소의 순위를 결정하는 방법을 배우게 됩니다. 순위는 정렬된 순서에서 요소의 위치를 나타냅니다 (가장 낮은 점수의 경우 0 부터 시작).

Redis 서버에 연결합니다.

redis-cli

ZRANK 명령은 다음 구문을 사용합니다.

ZRANK key member

여기서:

  • key는 Sorted Set 의 이름입니다.
  • member는 순위를 찾으려는 요소입니다.

my_zset에서 "banana"의 순위를 찾으려면 다음 명령을 사용합니다.

ZRANK my_zset banana

다음 출력이 표시되어야 합니다.

(integer) 1

이는 "banana"가 Sorted Set 에서 순위 1 에 있음을 나타냅니다.

Redis CLI 를 종료합니다.

exit

ZINCRBY 로 점수 증가 및 ZREM 으로 요소 삭제

이 마지막 단계에서는 ZINCRBY를 사용하여 요소의 점수를 증가시키고 ZREM을 사용하여 요소를 제거하는 방법을 배우게 됩니다.

Redis 서버에 연결합니다.

redis-cli

ZINCRBY 명령은 정렬된 집합에서 멤버의 점수를 증가시킵니다. 구문은 다음과 같습니다.

ZINCRBY key increment member

여기서:

  • key는 Sorted Set 의 이름입니다.
  • increment는 점수를 증가시킬 값입니다.
  • member는 점수를 증가시키려는 요소입니다.

"banana"의 점수를 0.5만큼 증가시켜 보겠습니다.

ZINCRBY my_zset 0.5 banana

다음 출력이 표시되어야 합니다.

"2.5"

이는 "banana"의 새로운 점수가 2.5임을 나타냅니다.

ZREM 명령은 정렬된 집합에서 멤버를 제거합니다. 구문은 다음과 같습니다.

ZREM key member [member ...]

여기서:

  • key는 Sorted Set 의 이름입니다.
  • member는 제거하려는 요소입니다.

my_zset에서 "banana"를 제거해 보겠습니다.

ZREM my_zset banana

다음 출력이 표시되어야 합니다.

(integer) 1

이는 하나의 요소가 제거되었음을 나타냅니다.

Redis CLI 를 종료합니다.

exit

요약

이 랩에서는 기본적인 Redis Sorted Set 연산을 사용하는 방법을 배웠습니다. ZADD를 사용하여 점수가 있는 요소를 추가하고, ZRANGE를 사용하여 요소 범위를 가져오고, ZRANK를 사용하여 요소의 순위를 얻고, ZINCRBY를 사용하여 점수를 증가시키고, ZREM을 사용하여 요소를 제거했습니다. 이제 Redis 에서 정렬된 집합을 효과적으로 관리하기 위한 탄탄한 기반을 갖추게 되었습니다.