데이타베이스/Redis

Redis 명령어: 데이터 구조별 명령어 완벽 가이드

shimdh 2025. 5. 11. 10:10
728x90

Redis는 현대 애플리케이션에서 데이터 저장 및 관리를 위한 강력한 도구로 자리 잡고 있습니다. 다양한 데이터 구조를 지원하며, 각 구조에 따라 사용할 수 있는 명령어가 다릅니다. 이번 포스트에서는 Redis의 주요 데이터 구조인 문자열, 리스트, 셋, 정렬된 셋, 해시를 중심으로 각 구조별로 자주 사용되는 명령어와 그 예제를 자세히 살펴보겠습니다.

1. 문자열 (Strings)

문자열은 Redis에서 가장 기본적인 데이터 타입으로, 간단한 키-값 쌍을 저장하는 데 사용됩니다. 문자열은 텍스트, 숫자, 또는 이진 데이터 등 다양한 형태의 데이터를 저장할 수 있어 매우 유용합니다.

자주 사용하는 문자열 명령어

  • SET: 특정 키에 값을 설정합니다. 기존의 값을 덮어쓰며, 새로운 값을 저장할 수 있습니다.

    • 예: SET mykey "Hello World"
  • GET: 특정 키의 값을 가져옵니다. 저장된 데이터를 쉽게 조회할 수 있습니다.

    • 예: GET mykey
  • INCR: 지정된 키의 숫자 값을 1 증가시킵니다. 카운터와 같은 기능을 구현할 때 유용합니다.

    • 예: INCR counter

2. 리스트 (Lists)

리스트는 순서가 있는 문자열의 컬렉션으로, 주로 FIFO(First In First Out) 방식으로 데이터를 처리할 때 유용합니다. 리스트는 다양한 데이터의 순서를 유지하면서 저장할 수 있는 기능을 제공합니다.

자주 사용하는 리스트 명령어

  • LPUSH: 리스트의 왼쪽에 요소를 추가합니다. 새로운 요소를 리스트의 맨 앞에 삽입합니다.

    • 예: LPUSH mylist "A"
  • RPUSH: 리스트의 오른쪽에 요소를 추가합니다. 새로운 요소를 리스트의 맨 뒤에 삽입합니다.

    • 예: RPUSH mylist "B"
  • LRANGE: 특정 범위 내의 요소들을 가져옵니다. 리스트의 특정 부분을 조회할 수 있습니다.

    • 예: LRANGE mylist 0 -1

3. 셋 (Sets)

셋은 중복되지 않는 값들의 집합으로, 주로 고유한 항목을 저장하고 관리할 때 유용합니다. 셋은 데이터의 중복을 허용하지 않기 때문에, 유일한 값을 유지하는 데 적합합니다.

자주 사용하는 셋 명령어

  • SADD: 셋에 요소를 추가합니다. 새로운 값을 셋에 추가하며, 이미 존재하는 값은 무시됩니다.

    • 예: SADD myset "apple"
  • SMEMBERS: 셋의 모든 멤버를 반환합니다. 현재 셋에 저장된 모든 값을 확인할 수 있습니다.

    • 예: SMEMBERS myset
  • SISMEMBER: 특정 값이 셋에 존재하는지 확인합니다. 값의 존재 여부를 체크하는 데 유용합니다.

    • 예: SISMEMBER myset "apple"

4. 정렬된 셋 (Sorted Sets)

정렬된 셋은 점수(score)에 따라 자동으로 정렬되는 중복 없는 값들의 집합입니다. 이 구조는 데이터의 순위를 매기거나 점수 기반의 기능을 구현할 때 매우 유용합니다.

자주 사용하는 정렬된 셋 명령어

  • ZADD: 점수를 부여하여 새로운 멤버를 추가합니다. 멤버와 함께 점수를 설정하여 정렬된 상태로 저장합니다.

    • 예: ZADD myzset 10 "apple"
  • ZRANGE: 점수 기준으로 범위를 지정해 멤버들을 가져옵니다. 특정 점수 범위 내의 멤버를 조회할 수 있습니다.

    • 예: ZRANGE myzset 0 -1 WITHSCORES

5. 해시 (Hashes)

해시는 필드와 값 쌍을 저장하는 데 적합한 자료구조로, 여러 개의 필드를 통해 하나의 객체처럼 데이터를 표현할 수 있습니다. 해시는 복잡한 데이터를 구조적으로 저장하고 관리하는 데 매우 유용합니다.

자주 사용하는 해시 명령어

  • HSET: 해시에 필드와 값을 설정합니다. 특정 필드에 값을 저장하거나 업데이트합니다.

    • 예: HSET user:name age 25
  • HGET: 특정 필드의 값을 가져옵니다. 특정 필드에 저장된 데이터를 조회할 수 있습니다.

    • 예: HGET user:name age
  • HMGET: 여러 필드를 동시에 가져옵니다. 여러 필드의 값을 한 번에 조회할 수 있어 효율적입니다.

    • 예: HMGET user:name age location

결론

이러한 명령어들은 각각 해당 데이터 구조에서 정보를 효과적으로 관리하고 조작하기 위해 매우 중요하며, 실제 애플리케이션에서도 빈번하게 사용됩니다. 다양한 상황에서 이러한 명령어들을 활용하면 더 나은 성능과 효율성을 얻을 수 있습니다. Redis의 강력한 기능을 통해 데이터 처리의 효율성을 극대화할 수 있습니다.

728x90