이 튜토리얼에서는 Redis의 키에 저장된 정렬된 집합(Sorted Set) 값에서 하나 이상의 지정된 요소를 삭제하는 방법을 알아봅니다. 이 작업을 위해 redis-cli에서 ZREM 명령어를 사용합니다.
ZREM 명령어란?
ZREM은 지정된 키에 저장된 정렬된 집합에서 하나 이상의 멤버를 삭제하는 명령어입니다. 주요 특징은 다음과 같습니다.
- 정렬된 집합에 존재하지 않는 멤버가 지정되면 해당 멤버는 무시되며 에러가 발생하지 않습니다.
- 키가 존재하지만 해당 키에 저장된 값이 정렬된 집합 데이터 타입이 아닌 경우 에러가 반환됩니다.
- 존재하지 않는 키에 대해 실행하면 아무 작업도 수행하지 않고 0을 반환합니다.
문법(Syntax)
redis host:port> ZREM <keyname> <element> [element ...]
<keyname>: 대상 정렬된 집합이 저장된 키 이름<element>: 삭제할 멤버(여러 개 지정 가능)
반환값(Output)
- (integer) : 정렬된 집합에서 실제로 삭제된 요소의 개수 (존재하지 않는 멤버는 제외)
- Error : 키가 존재하지만 저장된 값이 정렬된 집합 타입이 아닐 경우
사용 예제
예를 들어 myset이라는 정렬된 집합에서 특정 멤버들을 삭제하려면 다음과 같이 실행합니다.
redis host:port> ZADD myset 1 "member1" 2 "member2" 3 "member3"
(integer) 3
redis host:port> ZREM myset "member1" "member2"
(integer) 2
redis host:port> ZRANGE myset 0 -1
1) "member3"
위 예제에서 member1과 member2가 성공적으로 삭제되었으며, 반환값 2는 실제로 삭제된 요소의 개수를 나타냅니다. 만약 존재하지 않는 멤버까지 함께 지정했다면, 그 멤버는 개수에 포함되지 않습니다.
참고 자료
- Redis 공식 문서 – ZREM Command Docs
지금까지 Redis 데이터 스토어에 저장된 정렬된 집합 값에서 하나 이상의 지정된 요소를 삭제하는 ZREM 명령어의 사용법을 살펴보았습니다. 이 글이 도움이 되었다면 댓글로 의견을 남겨주시고, 주변에도 널리 공유해 주세요!