Redis 게시 및 구독
Redis 게시 및 구독(pub/sub)은 메시지 통신 모델입니다. 발신자(pub)는 메시지를 보내고 구독자(sub)는 정보를 받습니다.
Redis 클라이언트는 원하는 수의 채널을 구독할 수 있습니다.
다음 그림은 채널1과 이 채널을 구독하는 세 클라이언트(클라이언트2, 클라이언트5, 클라이언트1) 간의 관계를 보여줍니다.
새로운 것이 있을 때 메시지가 PUBLISH 명령을 통해 채널 1로 전송되면 메시지는 이를 구독하는 세 클라이언트에게 전송됩니다:
예
다음 예에서는 게시 및 구독이 작동하는 방식을 보여줍니다. 이 예에서는 redisChat이라는 구독 채널을 만들었습니다.
redis 127.0.0.1:6379> SUBSCRIBE redisChat Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redisChat" 3) (integer) 1
이제 먼저 redis 클라이언트를 다시 시작한 다음 동일한 채널 redisChat에 두 개의 메시지를 게시합니다. 메시지.
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique" (integer) 1 redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by w3cschool.cc" (integer) 1 # 订阅者的客户端会显示如下消息 1) "message" 2) "redisChat" 3) "Redis is a great caching technique" 1) "message" 2) "redisChat" 3) "Learn redis by w3cschool.cc"
Redis 게시 및 구독 명령
다음 표에는 일반적인 Redis 게시 및 구독 명령이 나열되어 있습니다.
序号 | 命令及描述 |
---|---|
1 | PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道。 |
2 | PUBSUB subcommand [argument [argument ...]] 查看订阅与发布系统状态。 |
3 | PUBLISH channel message 将信息发送到指定的频道。 |
4 | PUNSUBSCRIBE [pattern [pattern ...]] 退订所有给定模式的频道。 |
5 | SUBSCRIBE channel [channel ...] 订阅给定的一个或多个频道的信息。 |
6 | UNSUBSCRIBE [channel [channel ...]] 指退订给定的频道。 |