1) 레디스의 hash란?
- 레디스에서 hash는 필드-값 쌍을 가진 아이템의 집합이다.
레디스에서 데이터가 key-value 쌍으로 저장되는 것처럼
하나의 hash 자료 구조 내에서 아이템은 필드-값 쌍으로 저장된다.
- hash는 객체를 표현하기 적절한 자료 구조 이기 때문에
관계형 데이터베이스의 테이블 데이터로 변환하는 것도 간편하다.
- 칼럼이 고정된 관계형 데이터베이스의 테이블과 달리,
hash에서 필드를 추가하는 것은 간단하다.
hash에서는 각 아이템마다 다른 필드를 가질 수 있으며,
동적으로 다양한 필드를 추가할 수 있다는 특징이 있다.
2) 레디스 hash 커맨드
- HSET 커맨드를 사용하면 hash에 아이템을 저장할 수 있으며,
한 번에 여러 필드-값 쌍을 저장할 수도 있다.
> HSET Product:123 Name "Happy Hacking"
(integer) 1
> HSET Product:123 TypeID 35
(integer) 1
> HSET Product:123 Version 2002
(integer) 2
> HSET Product:234 Name "Track Ball" TypeID 32
(integer) 2
- hash에 저장된 데이터는 HGET 커맨드로 가져올 수 있으며,
이때에는 hash 자료 구조의 키와 아이템의 필드를 함께 입력해야 한다.
HMGET 커맨드를 이용하면 하나의 hash 내에서 다양한 필드의 값을 가져올 수 있다.
HGETALL 커맨드는 hash 내의 모든 필드-값 쌍을 차례로 반환한다.
> HGET Product:123 TypeID
"35"
> HMGET Product:234 Name TypeID
1) "Track Ball"
2) "32"
> HGETALL Product:234
1) "Name"
2) "Track Ball"
3) "TypeID"
4) "32"
'개발자를 위한 레디스' 카테고리의 다른 글
[개발자를 위한 레디스] sorted Set (0) | 2024.12.13 |
---|---|
[개발자를 위한 레디스] 레디스의 자료 구조 - SET (0) | 2024.12.13 |
[개발자를 위한 레디스] 레디스의 Pub/Sub (0) | 2024.12.12 |
[개발자를 위한 레디스] 레디스를 캐시로 사용하기 - 메모리 관리와 maxmemory-policy 설정 (0) | 2024.12.05 |
[개발자를 위한 레디스] 레디스를 메시지 브로커로 사용하기 (0) | 2024.08.25 |