HSET

Redis Developer Course Redis Technical Support Redis Enterprise Server

field 와 value를 저장

사용법은 hset key field value 이다.
key에 여러개의 field와 value를 저장할 수 있다. 기존에 같은 field가 있으면 덮어쓴다.
구조는 관계형 데이터베이스의 테이블과 비슷하다. 하지만 key마다 field가 달라도 된다.

Example

명령>hset user-1 email charlie@redisgate.com
결과>1
명령>hset user-1 language english
결과>1
명령>hset user-1 gender m
결과>1
명령>hgetall user-1
결과> 0) email -> charlie@redisgate.com
1) language -> english
2) gender -> m

애니메이션 보기

hgetall 명령을 실행하면 redis-cli는 field와 value가 각각 다른 line에 표시되는 반면, Redis Web Client는 위 결과와 같이 한 line에 field -> value 형태로 표시된다.

버전 4.0.0부터 field와 value를 여러 개 입력할 수 있다.

버전 4.0.0부터는 hmset 대신 hset을 사용할 것을 권장한다.

Example

명령>hset myhash f1 v1 f2 v2
결과>2

Subquery(서브쿼리) 기능

field value 부분에 서브쿼리를 사용해서 값을 넣을 수 있습니다.
서브쿼리로 사용할 수 있는 명령은 GET, MGET, HGET, HMGET, HGETALL 입니다.
GET, MGET은 key가 field로 들어간다.

Example

명령>set key Hello
결과>OK
명령>hset myhash (get key)
결과>1
명령>hgetall myhash
결과>1) "key"
2) "Hello"

  • 서브쿼리에 다양한 명령을 사용해서 여러 개 값을 넣을 수 있습니다.
  • Example

    명령>hset myhash (mget key1 key2)
    결과>2
    명령>hset myhash (hget myhash1 field)
    결과>1
    명령>hset myhash (hmget myhash1 field1 field2)
    결과>2
    명령>hset myhash (hgetall myhash2)
    결과>10

  • 서브쿼리는 하나만 사용할 수 있습니다.
  • 서브쿼리 기능은 Enterprise 서버에서 사용 가능합니다.
    Enterprise 7.2.0까지는 HSET 명령에서 사용할 수 있고, 이후 버전에서는 HSETS 명령으로 분리되었습니다.

    멤버(member) 자동 삭제(만료 시간 설정) 기능

    입력하는 멤버에 만료 시간을 설정해서 자동 삭제할 수 있습니다.
    이것은 기존에 hset(입력)과 expire를 각각 했던 것을 한 명령으로 만들었습니다.

    Example

    명령>hset myhash f1 v1 f2 v2 f3 v3 ex 10
    결과>3
    10초 후
    명령>hgetall myhash
    결과>(empty list or set)

    서브쿼리에도 사용할 수 있습니다.

    Example

    명령>hset myhash (get key) ex 10
    결과>1
    명령>hset myhash (hgetall myhash2) ex 10
    결과>10
    멤버 자동 삭제 기능은 Enterprise 서버에서 사용 가능합니다.

    명령문

    HSET key field value [field value ...]   [ex seconds]

    • 이 명령은 version 2.0.0 부터 사용할 수 있습니다.
    • 논리적 처리 소요시간은 O(1)입니다.
    • 서브쿼리와 멤버 자동 삭제 기능은 Enterprise 서버에서 사용할 수 있습니다.
    SQL Insert Redis Enterprise 7.3.0 이상이면 INSERT를 사용해보세요.
    관련 명령 HMSET, HDEL, SET, LPUSH, SADD, ZSET
    Clients for Java Jedis, Lettuce, Redisson
    Clients for C Hiredis

    << HASHES Introduction HSET HSETS >>

    Email 답글이 올라오면 이메일로 알려드리겠습니다.