이 튜토리얼에서는 Redis에 저장된 해시(Hash) 값에서 하나 이상의 필드를 삭제하는 방법을 알아봅니다. 이를 위해 redis-cli에서 HDEL 명령어를 사용합니다.
HDEL 명령어는 키에 저장된 해시 값에서 지정된 하나 이상의 필드를 제거합니다. 만약 지정한 필드가 해시 값에 존재하지 않는다면 해당 필드는 무시되고 오류 없이 정상적으로 처리됩니다.
명령어 실행 결과로 반환되는 값은 다음과 같습니다.
- 키가 존재하지 않는 경우: 빈 해시로 간주되어 0이 반환됩니다.
- 키는 존재하지만 저장된 값이 해시(Hash) 타입이 아닌 경우: 오류(Error)가 반환됩니다.
HDEL 명령어 문법
redis host:port> HDEL <keyname> <field> [field ...]
- <keyname>: 필드를 삭제할 대상 해시의 키 이름
- <field>: 삭제할 필드 이름 (여러 개 지정 가능)
반환값(Output)
- (integer) : 해시에서 실제로 삭제된 필드의 개수 (존재하지 않는 필드는 제외) - Error : 키는 존재하지만 저장된 값이 해시 타입이 아닌 경우
사용 예제

예를 들어, user:1001이라는 키에 name, email, age 필드가 저장된 해시가 있다고 가정해 보겠습니다. 아래와 같이 실행하면 특정 필드를 삭제할 수 있습니다.
redis host:port> HSET user:1001 name "John" email "john@example.com" age 30 redis host:port> HDEL user:1001 email age (integer) 2 redis host:port> HGETALL user:1001 1) "name" 2) "John"
위 예제에서 email과 age 두 개의 필드가 성공적으로 삭제되었으며, 삭제된 필드 수인 2가 반환된 것을 확인할 수 있습니다.
참고 자료
- Redis 공식 문서 – HDEL Command Docs
지금까지 Redis 데이터 저장소에 저장된 해시 값에서 하나 이상의 필드를 삭제하는 방법에 대해 알아보았습니다. 이 글이 도움이 되었다면 댓글로 의견을 남겨주시고, 주변에도 공유해 주세요!