본문 바로가기

OSS

[Redis] Redis Hash Set이란?

반응형

 

HSET

Redis의 Hash는 데이터를 저장하는데 사용되는 데이터 구조 중 하나로, 일반적으로 dictionary 또는 map이라고 생각하면 됩니다. Hash

는 하나의 키에 여러 필드-값 쌍을 저장할 수 있어 구조화된 데이터를 효율적으로 관리할 수 있습니다.

 

Redis Hash 주요 명령어

  • HSET: 필드-값 쌍을 설정합니다.
  • HGET: 특정 필드의 값을 가져옵니다.
  • HDEL: 특정 필드를 삭제합니다.
  • HGETALL: 모든 필드-값 쌍을 리스트 형태로 가져옵니다.
  • HKEYS: 모든 필드 이름을 가져옵니다.
  • HVALS: 모든 값을 가져옵니다.
  • HLEN: Hash에 저장된 필드의 개수를 가져옵니다.

예제: 간단한 HSET 명령어

HSET product name "Laptop" brand "Apple" price 1500 stock 50

 

위 명령어는 'product'라는 키에 'name', 'brand', 'price', 'stock' 필드를 각각 'Laptop', 'Apple', '1500', '50' 값으로 설정합니다.

 

예제: HGET 명령어

HGET product name

 

위 명령어는 'product' 키의 'name' 필드 값을 가져옵니다.

 

 

Nested Hashes (중첩된 해시)

Redis에서는 공식적으로 중첩된 해시를 지원하지 않습니다. 그러나 컨벤션을 사용하여 비공식적으로 중첩된 구조를 흉내낼 수 있습니다. 예를 들어, 제품의 상세 정보를 저장할 때 다음과 같이 할 수 있습니다.

 
HSET product:2002 name "Smartphone" brand "Samsung" price 800 stock 200
HSET product:2002:details color "Black" release_date "2023-01-15"
 
 
제품 정보를 조회하면 아래와 같은 명령어와 결과를 확인할 수 있습니다.
HGET product:2002 name
# 결과: "Smartphone"

HGETALL product:2002
# 결과:
# 1) "name"
# 2) "Smartphone"
# 3) "brand"
# 4) "Samsung"
# 5) "price"
# 6) "800"
# 7) "stock"
# 8) "200"

HGETALL product:2002:details
# 결과:
# 1) "color"
# 2) "Black"
# 3) "release_date"
# 4) "2023-01-15"

 

 

반응형