2024. 4. 15. 15:53ㆍ기술 창고/DataBase
Redis의 Hash는 필드와 값으로 이루어진 데이터 구조입니다.
데이터들을 그룹화하여 관리할 수 있습니다.
(예 : Java HashMap)
주요 명령어
- HSET
- HGET
- HMGET
- HGETALL
- HDEL
- HINCRBY
Command 실습
HSET
hset은 hash 데이터를 생성하고 넣어주는 명령어입니다.
hset으로 데이터를 생성하고 넣어줄 때 한 번에 다중 필드와 값을 넣어줄 수 있습니다.
hash 또한 필드와 값을 가진 키 값이 중복을 가질 수 없습니다.
- 형식 : hset {hash 키 값} {필드 명} {데이터 값} {필드 명2} {데이터 값2} ...
HGET
hget은 hash의 단일 필드 데이터를 가지고 와서 출력하는 명령어입니다.
- 형식 : hget {hash 키 값} {필드 명}
HMGET
hmget은 hash의 다중 필드 데이터들을 가지고 와서 출력하는 명령어입니다.
- 형식 : hmget {hash 키 값} {필드 명 1} {필드 명 2} ...
HDEL
hdel은 hash의 특정 필드 데이터를 삭제하는 명령어입니다.
- 형식 : hdel {hash 키 값} {필드 명}
HGETALL
hgetall은 hash의 모든 필드 데이터들을 출력하는 명령어입니다.
- 형식 : hgetall {hash 키 값}
HINCRBY
hincrby는 hash에서 원자적 데이터 증가를 수행하는 명령어입니다.
만약 증가를 수행하는 필드가 존재하지 않을 경우에도 자동적으로 생성하여 초기화시켜줍니다.
- 형식 : hincrby {hash 키 값} {증가 필드 명} {증가 수량}
Spring Boot 사전 연동 필요
https://jindevelopetravel0919.tistory.com/395
Spring Boot 활용 실습
// Redis - Hash
public void jedisOfHash() {
try (JedisPool pool = jedisPoolSetting()) {
try (Jedis jedis = pool.getResource()) {
// [ HSET ]
// HashSet에 단일 데이터를 넣을 경우, 바로 필드값 + value를 넣는다
jedis.hset("users:2:info", "name", "sehun");
// HashSet에는 다중의 데이터나 다양한 데이터 형식을 넣을 수 있으므로 곧바로 HashMap을 넣을 수 있다.
HashMap<String, String> map = new HashMap<>();
map.put("email", "sehun@naver.com");
map.put("phone", "010-2222-5555");
jedis.hset("users:2:info", map);
// [ HGET ]
// hget을 통한 특정 필드의 값을 조회
System.out.println(jedis.hget("users:2:info", "name"));
System.out.println(jedis.hget("users:2:info", "phone"));
// [ HGETALL ]
// hgetall을 통한 키에 속한 전체 필드 데이터 조회
System.out.println(jedis.hgetAll("users:2:info"));
// [ HDEL ]
// hdel을 통한 특정 필드 삭제
jedis.hdel("users:2:info", "phone");
System.out.println(jedis.hget("users:2:info", "phone"));
// [ HINCRBY ]
// hincrBy를 통한 특정 필드 값 증가
jedis.hincrBy("users:2:info", "visits", 1);
System.out.println(jedis.hget("users:2:info", "visits"));
}
}
}
'기술 창고 > DataBase' 카테고리의 다른 글
[Redis] Bitmap 데이터 운영 - (Jedis) (0) | 2024.04.15 |
---|---|
[Redis] Sorted Set 데이터 운영 - (Jedis) (0) | 2024.04.15 |
[Redis] Set 데이터 운영 - (Jedis) (0) | 2024.04.15 |
[Redis] List 데이터 운영 - (Jedis) (0) | 2024.04.15 |
[Redis] String 데이터 운영 - (Jedis) (0) | 2024.04.15 |