Data Base/Redis

Redis Hash 형식과 명령어

Surge100 2022. 10. 3. 13:24

Hash 형식

Hash는 또 다른 key-value pair이다. 간단히 말하면 key-value pair안에 key-value pair라고 생각하면 쉽다. 하지만  Hash 형식안에 중복되는 key-value를 가질 수 없다 JSON object과 같다고 생각하면 된다. Hash 형식안에는 오직 중복되지 않는 하나의 key-value pairs만 가질 수 있다.

 

Hash 형식에 관련한 명령어를 사용하려면 명령어의 접두사로 "h"를 사용해야 한다.


HSET 명령어

hset key field value [field value...]

 

HGET 명령어

Hash의 key이름과 원하는 field이름을 위와 같이 입력하면 person Hash안에 원하는 value를 출력받을 수 있다.

 

HGETALL 명령어

hgetall hash key 이름

person Hash안에 모든 field와 value를 출력 받고 싶을 때 사용하는 명령어이다. 위 예제어서도 확인 할 수 있듯이 기본적으로 key에 해당하는 field가 먼저 출력되고 그 다음에 두번 째로 value가 출력된다.

 


 

Hash에 계속해서 다른 key-value pairs 추가 하기

우리는 person Hash에 계속해서 다른 것도 추가 할 수 있다. 다시 hset을 이용한다. 위 예제에서는 이번에는 age라는 filed를 추가하고 value는 26으로 하였다.

 

이제 person Hash의 모든 field와 value를 출력하면 위와 같은 값들이 출력되는 것을 확인 할 수 있다.

 

HDEL 명령어

hdel key field [field...]

hdel를 이용해서 삭제하고 싶은 값이 들어 있는 Hash의 key이름과 그 Hash에서 해당 value와 key-value pairs를 이루는 filed의 이름을 적고 명령어를 실행 한뒤에 hgetall 명령어로 person Hash를 확인해 보면, age-26에 해당하는 key-value가 사라진 것을 확인 할 수 있다.

 

HEXISTS 명령어

이 명령어로 특정 Hash에 특정 key-vlaue가 존재하는 확인할 수 있다.

 


정리

Hash 형식은 개별적인 하나의 Key에  여러개의 key-value pairs를 저장할 때 좋은 선택이 될 수 있다. 

 

[출처- https://youtu.be/jgpVdJB2sKQ]