hset
HSET
![]() |
![]() 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
답글이 올라오면 이메일로 알려드리겠습니다.