반응형
해당 글에서는 Spring Data Redis에 포함된 HashOperations Class API Document에 대해 확인합니다.
💡 [참고] Redis 관련해서 구성 내용에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.
분류 | 링크 |
Redis(Remote Dictionary Server) 이해하기 -1 : 구조 및 특징, 아키텍처 | https://adjh54.tistory.com/447 |
Redis(Remote Dictionary Server) 이해하기 -2 : MacOS 로컬 환경 구성 및 명령어 | https://adjh54.tistory.com/448 |
RedisTemplate API Document | https://adjh54.tistory.com/462 |
ValueOperations API Document | https://adjh54.tistory.com/460 |
HashOperations API Documnet | https://adjh54.tistory.com/461 |
1) HashOperations
💡 HashOperations
- 해당 인터페이스는 Redis 해시 타입의 작업을 위한 메서드 집합을 제공합니다. 이를 사용하면 Redis 해시에 저장된 값을 쉽게 읽고 쓸 수 있습니다.
- 가장 일반적인 메서드로는 put(키, 해시키, 값), get(키, 해시키), delete(키, 해시키) 등이 있습니다. 이 외에도 다양한 메서드를 사용하여 Redis 해시를 더 효과적으로 관리할 수 있습니다.
💡 ValueOperations 클래스는 org.springframework.data.redis.core 패키지 내에 포함되어 있습니다.
💡 Redis의 데이터 타입 중 ‘Hashes’에 대한 연산을 지원합니다.
2) HashOperations Class Method
메서드 | 리턴 타입 | 분류 | 설명 |
keys(H key) | Set<HK> | 값 조회 | key 해시의 키 집합(필드)를 가져옴 |
get(H key, Object hashKey) | HV | 값 조회 | key 해시에서 주어진 hashKey에 대한 값을 가져옴 |
lengthOfValue(H key, HK hashKey) | Long | 값 조회 | hashKey와 연결된 값의 길이를 반환 |
multiGet(H key, Collection<HK> hashKeys) | List<HV> | 값 조회 | key 해시에서 주어진 hashKeys의 값을 가져옴 |
randomEntries(H key, long count) | Map<HK,HV> | 값 조회 | key에 저장된 해시에서 임의의 항목을 반환 |
randomEntry(H key) | Map.Entry<HK,HV> | 값 조회 | key에 저장된 해시에서 임의의 항목을 반환 |
randomKeys(H key, long count) | List<HK> | 값 조회 | key에 저장된 해시에서 임의의 해시 키(필드)를 반환 |
randomKey(H key) | HK | 값 조회 | key에 저장된 해시에서 임의의 해시 키(필드)를 반환 |
scan(H key, ScanOptions options) | Cursor<Map.Entry<HK,HV>> | 값 조회 | key 해시의 항목을 순회하기 위해 Cursor를 사용 |
delete(H key, Object... hashKeys) | Long | 값 삭제 | 주어진 해시 hashKeys를 삭제 |
entries(H key) | Map<HK,HV> | 값 조회 | key에 저장된 전체 해시를 가져옴 |
hasKey(H key, Object hashKey) | Boolean | 값 조회 | 주어진 해시 hashKey가 존재하는지 확인 |
put(H key, HK hashKey, HV value) | void | 값 조작 | 해시 hashKey의 value를 설정 |
putAll(H key, Map<? extends HK,? extends HV> m) | void | 값 조작 | m에서 제공된 데이터를 사용하여 여러 해시 필드에 여러 값을 설정 |
increment(H key, HK hashKey, double delta) | Double | 값 조작 | 해시 hashKey의 value를 주어진 delta만큼 증가 |
increment(H key, HK hashKey, long delta) | Long | 값 조작 | 해시 hashKey의 value를 주어진 delta만큼 증가 |
putIfAbsent(H key, HK hashKey, HV value) | Boolean | 값 조작 | hashKey가 존재하지 않는 경우, 해시 hashKey의 value를 설정 |
getOperations() | RedisOperations<H,?> | 기타 | |
size(H key) | Long | 기타 | key 해시의 크기를 가져옴 |
values(H key) | List<HV> | 값 조회 | key 해시의 항목 집합(값)을 가져옴 |
3) HashOperations 사용예시
💡 HashOperations 사용예시
1. put() 메서드를 통해 key, hashKey, value 값을 기반으로 값을 지정합니다.
2. get() 메서드를 통해 key, hashKey 값을 기반으로 값을 조회합니다.
3. delete() 메서드를 통해 key, hashKey 값을 반환하게 삭제합니다.
public class RedisServiceImpl implements RedisService {
private final RedisTemplate<String, Object> redisTemplate;
private void useHashOperations() {
String key = "key";
String hashKey = "hashKey";
String value = "value";
HashOperations<String, String, Object> hashOperations = redisTemplate.opsForHash();
// Redis에 값을 지정합니다.
hashOperations.put(key, hashKey, value);
// Redis의 key, hashKey 값을 기반으로 값을 조회합니다.
String result = String.valueOf(hashOperations.get(key, hashKey));
// Redis의 key, hashKey 값을 반환하고 row를 삭제합니다.
hashOperations.delete(key, hashKey);
}
}
오늘도 감사합니다. 😀
반응형