이 튜토리얼에서는 Redis 데이터 저장소의 키(key)에 저장된 해시(hash) 값 내 특정 필드에 저장된 부동 소수점 숫자를 증가시키는 방법을 알아봅니다. 이를 위해 redis-cli에서 HINCRBYFLOAT 명령어를 사용합니다.
HINCRBYFLOAT 명령어는 키에 저장된 해시 값에서 지정된 필드의 부동 소수점 숫자를 지정한 값(increment)만큼 증가시키는 데 사용됩니다. 동작 방식은 다음과 같습니다.
- 필드가 해시 값에 존재하지 않으면, 지정된 increment 값을 값으로 하는 새로운 필드가 추가됩니다.
- 키 자체가 존재하지 않으면, 주어진 필드를 유일한 멤버로 하는 새로운 해시가 생성됩니다.
- 인자로 음수 부동 소수점 숫자를 전달하면 필드 값이 증가하는 대신 감소(decrement)합니다.
반면 다음과 같은 경우에는 오류가 반환됩니다.
- 키는 존재하지만 저장된 값이 해시(hash) 자료형이 아닌 경우
- 필드 값 또는 지정된 증분(increment) 값이 배정밀도(double precision) 부동 소수점 숫자가 아닌 경우
문법(Syntax)
redis host:port> HINCRBYFLOAT <keyname> <field> <increment>
출력(Output)
- (string) reply : 필드에 저장된 새로운 값을 나타내는 문자열 - Error : 키가 존재하지만 저장된 값이 해시가 아닌 경우
예제(Example)

주요 특징 정리
- HINCRBYFLOAT는 IEEE 754 기준의 64비트 배정밀도 부동 소수점 연산을 수행합니다.
- 상품 가격, 점수, 온도 등 실수 단위 카운터가 필요한 상황에서 유용하게 활용할 수 있습니다.
- 감소가 필요한 경우 increment 값에 음수를 전달하면 됩니다.
참고 자료(References)
- HINCRBYFLOAT 공식 문서(Command Docs)
지금까지 Redis 데이터 저장소에 저장된 해시 값의 필드에 있는 부동 소수점 숫자를 증가시키는 방법에 대해 알아보았습니다. 내용이 도움이 되셨다면 댓글로 의견을 남겨주시고, 주변에도 공유해 주세요!