English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis 발행 구독 (pub/sub)는 메시지 통신 모델로서: 발신자 (pub)가 메시지를 보내고, 구독자 (sub)가 메시지를 수신합니다.
Redis 클라이언트는 언제든지 언제든지 많은 수의 채널을 구독할 수 있습니다.
아래 그림은 채널 channel1 , 그리고 이 채널을 구독하는 세 개의 클라이언트 - client2 、 client5 및 client1 그들 간의 관계는 다음과 같습니다:
PUBLISH 명령어를 통해 채널 channel에 새 메시지가 전송되면1 그때, 이 메시지는 구독자인 세 개의 클라이언트에게 전송됩니다:
다음 예제는 발행 구독이 어떻게 작동하는지 보여줍니다. 두 개의 redis를 시작해야 합니다-cli 클라이언트
우리의 예제에서는 구독 채널 이름을 만들었습니다 w3codeboxChat:
현재, 먼저 redis 클라이언트를 다시 시작한 후, 동일한 채널 w3codeboxChat이 두 번의 메시지를发布하면, 구독자는 메시지를 수신할 수 있습니다.
순서는 다음과 같습니다:
로컬 Redis 서비스를 시작하며, 두 개의 redis를 시작합니다.-cli 클라이언트
에서첫 번째 redis-cli 클라이언트SUBSCRIBE w를 입력합니다3codeboxChat, w를 구독하는 의미3codeboxChat 채널.
에서두 번째 redis-cli 클라이언트PUBLISH w를 입력합니다3codeboxChat "Redis PUBLISH test"를 w로3codeboxChat 채널에서 메시지를 받게 됩니다. 이때 첫 번째 redis-cli 클라이언트는 두 번째 redis-cli 클라이언트가 보낸 테스트 메시지
다음 표는 redis 발행 및 구독에서 자주 사용하는 명령어를 나열합니다:
순번 | 명령 및 설명 |
---|---|
1 | PSUBSCRIBE 패턴 [패턴 ...] 지정된 패턴에 맞는 하나 또는 여러 개의 채널을 구독합니다。 |
2 | PUBSUB 서브커맨드 [인수 [인수 ...]] 구독 및 발행 시스템 상태를 확인합니다。 |
3 | PUBLISH 채널 메시지 지정된 채널로 정보를 전송합니다。 |
4 | PUNSUBSCRIBE [패턴 [패턴 ...]] 지정된 모든 패턴의 채널을 취소합니다。 |
5 | SUBSCRIBE 채널 [채널 ...] 지정된 하나 또는 여러 개의 채널에 대한 정보를 구독합니다。 |
6 | UNSUBSCRIBE [채널 [채널 ...]] 지정된 채널을 취소할 수 있습니다。 |