이 튜토리얼에서는 redis-cli를 사용하여 Redis 메시지 브로커 시스템에서 하나 이상의 채널 구독을 취소하는 방법에 대해 알아보겠습니다.
UNSUBSCRIBE 명령어란?
UNSUBSCRIBE 명령어는 Redis 메시지 브로커(Pub/Sub) 시스템에서 클라이언트가 지정된 하나 이상의 채널에 대한 구독을 해제할 때 사용합니다. 만약 채널을 지정하지 않고 명령어를 실행하면, 현재 구독 중인 모든 채널에서 자동으로 구독이 취소됩니다. 구독이 해제될 때마다 각 채널에 대한 응답 메시지를 반환합니다.
기본 문법
redis host:port> UNSUBSCRIBE <channel> [ <channel> ]
<channel>: 구독을 취소할 채널 이름입니다.- 여러 개의 채널을 한 번에 지정할 수 있으며, 아무 채널도 지정하지 않으면 전체 구독이 해제됩니다.
반환 값
- (array) 3개의 요소를 가진 배열 응답
응답 메시지 형식
UNSUBSCRIBE 명령어의 응답은 세 가지 요소로 구성된 배열입니다.
- 첫 번째 요소:
unsubscribe문자열로, 해당 채널의 구독이 성공적으로 해제되었음을 의미합니다. - 두 번째 요소: 구독이 해제된 채널의 이름입니다.
- 세 번째 요소: 현재 클라이언트가 구독 중인 채널의 개수입니다.
특히 세 번째 값이 0이 되면, 클라이언트는 더 이상 어떤 채널도 구독하지 않는 상태가 되며, 구독 상태(subscribed state)를 벗어나게 됩니다. 이때부터는 일반적인 Redis 명령어를 다시 사용할 수 있습니다.
사용 예시

위 예시처럼 여러 채널을 동시에 지정하거나, 인자 없이 실행하여 모든 구독을 한 번에 해제할 수 있습니다.
참고 자료
- Redis 공식 문서 – UNSUBSCRIBE Command
지금까지 redis-cli를 사용해 Redis 메시지 브로커에서 하나 또는 여러 채널의 구독을 취소하는 방법을 살펴보았습니다. 내용이 도움이 되었다면 댓글로 의견을 남겨주시고, 주변에도 공유해 주세요!